如何解决为什么round在指数上不能按预期工作?
格式化数字可以有效地减少小数位数。 round()
函数给出由参数传递的相同值是否有原因?
number = 5.7821323121209e19
print(round(number,2)) # 5.7821323121209e19.
# Works.
print('%.3g' % number) # 5.78e19
print('{:.3g}'.format(number)) # 5.78e19
print(f'{number:.3g}') # 5.78e19
解决方法
一切正常。 <iframe style="border:0px;width:100%;height:100px;display:none;" onload="validateWorkOrderFormOnLoad(this)" src=""></iframe>
实际上是5.7821323121209e19
,因此它是一个在逗号后仅 0 的数字。
因此,从数学的角度来看,没有什么可以舍入的。
,看起来像您想要-17
而不是2
:
>>> round(5.7821323121208e19,-17)
5.78e+19
,
round(number,2)
舍入到小数点后两位(即百分之一)。 5.7821323121209e19
太大,无法产生任何效果。是57821323121209000000
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。