C# 正負數 舍數取整的實現

C#無四捨五入,辦法如下:

1.正數可以利用加0.5補數,然後向下取整實現  。

2.負數可以先轉正,然後加0.4補數,再向下取整,再取反數。

概況:補齊不足,舍其多餘 

        var number="-22.54";
        var getNumber=RoundingNumber(number);

        //四捨五入 正負數不一樣
        //概況:補齊不足,舍其多餘 
        public string RoundingNumber(string number)
        {
            if (number.IndexOf('-') == 0)
            {
                //負數 -9.5 與-9跟-10一樣接近,取最大值為-9 轉正後五舍六入
                //轉正補0.4再向下取整
                return "-" +Math.Floor((Math.Abs(double.Parse(number)) + 0.4)).ToString();
            }
            else
            {
                //正數 9.5 與9跟10一樣接近,取最大值為10 四捨五入
                //補0.5再向下取整
                return Math.Floor(double.Parse(number)+0.5).ToString();
            }
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章