【发布时间】:2019-01-03 18:42:13
【问题描述】:
我正在用python开发一个应用程序,其中一些部分是用c#编写的(为了加快速度),我很困惑为什么在使用“round”函数和字符串浮点时,c#浮点舍入的行为与python“相反”格式化函数,这里是一个例子:
Python (2.7)
>>> round(6.25, 1)
6.3
>>> "%.1f"%6.25
6.2
C#
>>> Math.Round(6.25,1)
6.2
>>> (6.25).ToString("F1")
6.3
有人理解为什么 Python 与 c# 之间的行为看似“相反”吗?有没有办法将“双”浮点值四舍五入为 N 个十进制数字,以在 Python 和 C# 之间产生有保证的相同字符串输出?
【问题讨论】:
标签: c# python floating-point rounding