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();
}
}