作业帮 > 综合 > 作业

C# Math.Round() 疑问

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 16:01:15
C# Math.Round() 疑问
在VS2005中 即时窗口下运行结果如下
Math.Round(1.435,2)
1.44
Math.Round(2.435,2)
2.44
Math.Round(5.435,2)
5.44
Math.Round(4.435,2)
4.43
提问:
Math.Round 采用的是:
"四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一"
但是为什么Math.Round(4.435,2)结果是4.43
其他的都是x.44
计算精度的问题吧
你试试
var d = Math.Round(14.35, 1);
d = Math.Round(24.35, 1);
d = Math.Round(54.35, 1);
d = Math.Round(44.35, 1);
再问: 这个没问题 但是只有 ? Math.Round(4.435,2)结果为 4.43
再答: 都说了是精度的问题了 你试试 Math.Round(new decimal(4.435),2)