C#为什么string.format将浮点值四舍五入到最接近的第十位?

时间:2018-07-19 13:20:48

标签: c# rounding

以下数字在格式化时会四舍五入到最接近的第十个值

push -f

产出: 10,963,800

如何避免这种情况?

1 个答案:

答案 0 :(得分:3)

ToSingle返回单精度float,该精度不具有这种精度(通常只有7个十进制数字)。因此,Format假定最后一位数字不精确,并将其舍入为0。

请改用ToDouble,它返回一个double

或者,因为您没有使用任何小数部分,所以只需使用ToInt32