小数求和
本文关键字:求和 小数 | 更新日期: 2023-09-27 18:22:43
在C#中
(18761311001m * 0.36m +
18761311001m * 0.35m +
18761311001m * 0.29m)
/66.1445m
= 283641285.38276047139217924393
但是
((18761311001m * 0.36m)/66.1445m) +
((18761311001m * 0.35m)/66.1445m) +
((18761311001m * 0.29m) /66.1445m)
= 283641285.38276047139217924392
有人知道为什么会有差异,以及如何获得两者相同的答案吗?
感谢
decimal
有28个有效数字。你的差额是第29位。
如果您需要更高的精度,则必须使用任意精度的数学库。请参阅此答案以获取一些建议。