在C#中的Round函數,其實是五捨六入,那台灣人常用的四捨五入要怎麼用啊,在網路上有找到一個解法如下開懷大笑

以下的範例,可以Copy到Visual Studio中用window form測試,當然也可以在web 網頁中測試!!

在畫面上拉一個textbox及label後,將以下的程式碼,複製到程式中,會一些基本的C#的人,應該知道我在講什麼了吧!

private void button1_Click(object sender, EventArgs e)
        {
            Double  x=Convert.ToDouble(this.textBox1.Text);
            this.label1.Text = this.C1Round(x, 0).ToString();
        }

        public double C1Round(double value, int digit)
        {
            double vt = Math.Pow(10, digit);
            double vx = value * vt;

            vx += 0.5;
            return (Math.Floor(vx) / vt);
        }

 

另外在網路上也有看到其他的解法,供各位參考囉!..

四捨五入可以用這個方法喔 

3.4 = Math.Round( 3.45, 1)
-3.4 = Math.Round(-3.45, 1)
3.4 = Math.Round( 3.45, 1, MidpointRounding.ToEven)
3.5 = Math.Round( 3.45, 1, MidpointRounding.AwayFromZero)
-3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven)
-3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero)

資料來源http://msdn.microsoft.com/zh-tw/library/ef48waz8(VS.80).aspx

arrow
arrow
    全站熱搜

    丫德 發表在 痞客邦 留言(0) 人氣()