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