C# Math.Round() 疑问

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
coldplay1 1年前 已收到1个回答 举报

a-team 幼苗

共回答了17个问题采纳率:88.2% 举报

计算精度的问题吧
你试试
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);

1年前 追问

9

coldplay1 举报

这个没问题 但是只有 ? Math.Round(4.435,2)结果为 4.43

举报 a-team

都说了是精度的问题了 你试试 Math.Round(new decimal(4.435),2)
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.034 s. - webmaster@yulucn.com