伙计们,我正在写一个四舍五入的方法.输入是十进制类型(保证四位小数).舍入规则是忽略0.005或更小,即查看小数点后三位 - 如果它是<= 5,则向下舍入向上舍入.一些用例:82.3657 - > 82.36,82.3667 - > 82.37,82.5967 - > 82.60,82.9958 - > 82.99,82.9968 - > 83.00有什么好主意吗?我按如下方式解决了这个问题.
private decimal CustomRound(decimal x)
{
decimal rX = Math.Truncate(x * 100) / 100;
decimal x3DecPlaces = Math.Truncate(x * 1000) / 1000;
decimal t = (x3DecPlaces * 1000) % 10;
if (t >= 6)
rX = rX + 0.01m;
return rX;
}
Run Code Online (Sandbox Code Playgroud)