python中浮点类型小数可以为0吗_Python如何将浮点型数字的小数限制为两位【面试题详解】...

今天爱分享给大家带来Python如何将浮点型数字的小数限制为两位【面试题详解】,希望能够帮助到大家。

你陷入了一个浮点型数据的很老的错误,即所有的数字都不能表示。命令行只能告诉你内存中的全长小数。在浮点里你四舍五入到一个同样的数字。自从计算机是二进制开始,他们把浮点数保存为整数然后除一个2的幂。两位精确的数字有53比特(16位)的精度,常规的浮点数有24比特(8位)的精度。floating point in python uses double precision保存值。

举个例子:

>>>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("{0:.2f}".format(a))

13.95

>>> print("{0:.2f}".format(round(a,2)))

13.95

>>> print("{0:.15f}".format(round(a,2)))

13.949999999999999

作为货币如果你只需要小数点后两位的位置,那么你有一对比较好的选择,用整数存储值为分而不是元,之后除以100来得到元。或者用修正过的小数,比如decimal

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值