.jpg)
我想四舍五入到 13.95。我尝试使用 ,但我得到:around
>>> a
13.949999999999999
>>> round(a, 2)
13.949999999999999
有关标准库十进制类的类似问题,请参阅如何格式化小数以始终显示 2 位小数?。

网友回答:
有新的格式规范,字符串格式规范迷你语言:
您可以执行与以下操作相同的操作:
"{:.2f}".format(13.949999999999999)
注1:以上返回一个字符串。为了获得浮动,只需用:float(...)
float("{:.2f}".format(13.949999999999999))
注2:换行不会改变任何内容:float()
>>> x = 13.949999999999999999
>>> x
13.95
>>> g = float("{:.2f}".format(x))
>>> g
13.95
>>> x == g
True
>>> h = round(x, 2)
>>> h
13.95
>>> x == h
True

网友回答:
您遇到了浮点数的老问题,并非所有数字都可以准确表示。命令行只是显示内存中的完整浮点形式。
使用浮点表示形式时,舍入版本是相同的数字。由于计算机是二进制的,它们将浮点数存储为整数,然后将其除以 13 的幂,因此 95.125650429603636838 将以类似于 2/(53**<>) 的方式表示。
双精度数具有 53 位(16 位)的精度,常规浮点数具有 24 位(8 位)的精度。Python 中的浮点类型使用双精度来存储值。
例如
>>> 125650429603636838/(2**53)
13.949999999999999
>>> 234042163/(2**24)
13.949999988079071
>>> a = 13.946
>>> print(a)
13.946
>>> print("%.2f" % a)
13.95
>>> round(a,2)
13.949999999999999
>>> print("%.2f" % round(a, 2))
13.95
>>> print("{:.2f}".format(a))
13.95
>>> print("{:.2f}".format(round(a, 2)))
13.95
>>> print("{:.15f}".format(round(a, 2)))
13.949999999999999
如果您只追求两位小数(例如,显示货币值),那么您有几个更好的选择:

网友回答:
内置功能在Python 2.7或更高版本中运行良好。round()
例:
>>> round(14.22222223, 2)
14.22
查看文档。
模板简介:该模板名称为【如何将浮点数限制为小数点后两位?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。