【问题标题】:How do I round a floating point number?如何舍入浮点数?
【发布时间】:2014-08-07 12:33:34
【问题描述】:

我有一个浮点变量(例如:2.003

我想自动将其更改为仅小数点后 2 位。

【问题讨论】:

标签: python python-3.x floating-point numbers


【解决方案1】:

你可以使用round函数:

print round(2.003, 2)   # 2.0
print round(2.013, 2)   # 2.01

否则保持精度,只显示你想要的小数位数:

print '%.2f' % 2.003    # 2.00
print '%.2f' % 2.013    # 2.01

【讨论】:

  • 根据我的经验,round 的两个参数形式很少是正确的:如果用户出于显示目的四舍五入,那么他/她应该使用字符串格式(如您所描述)。如果用户想要一个浮点数,因为输出将用于进一步的计算,你必须想知道为什么通过舍入丢弃额外的精度是可以接受的。对于货币应用程序,Decimal 通常是要走的路:对于二进制浮点,四舍五入(二进制近似为)十进制中途情况,虽然定义完美,但从用户的角度来看基本上是任意的。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-16
相关资源
最近更新 更多