如何限制浮点数到两个小数点?

  • 回答 (2)
  • 关注 (0)
  • 查看 (81)

"我想a四舍五入到13.95。

>>> a

13.949999999999999

>>> round(a, 2)

13.949999999999999

"

幽幽77幽幽77提问于
嗝屁软件工程回答于
推荐

命令行仅显示内存中的完整浮点格式。在浮点上,你的四舍五入的版本是相同的数字。由于计算机是二进制的,它们将浮点数存储为整数,然后将其除以2的幂,因此13.95将以类似于125650429603636838 /(2 ** 53)的方式表示。双精度数的精度为53位(16位),常规浮点数的精度为24位(8位)。python中的浮点数使用双精度来存储值。

Tabor

Tencent · Content Operation (已认证)

一个会花式跑脚本的boy~回答于

你可以遵循如下代码:

"{0:.2f}".format(13.949999999999999)

请注意,上述返回一个字符串。float(...)

float("{0:.2f}".format(13.949999999999999))

请注意,换行float()不会改变任何内容:

>>> x = 13.949999999999999999
>>> x
13.95
>>> g = float("{0:.2f}".format(x))
>>> g
13.95
>>> x == g
True
>>> h = round(x, 2)
>>> h
13.95
>>> x == h
True

所属标签

可能回答问题的人

  • 天使的炫翼

    16 粉丝531 提问35 回答
  • 富有想象力的人

    2 粉丝0 提问26 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    48 粉丝0 提问26 回答
  • 发条丶魔灵1

    6 粉丝525 提问25 回答

扫码关注云+社区

领取腾讯云代金券