如何在不舍入数字的情况下限制python中“浮点数”的小数位?
例如:
a = 1.45698946
>>
Limit_a = 1.45698
不是:
1.45699
答案 0 :(得分:0)
这是一个漫长的过程,但是会让您的组成部分做得更优雅。
decimalPlaces = 5
val = 1.45698946
mod = 10 ** decimalPlaces
truncated = float(int(val * dps)) / dps
对于少于5位小数的值,您将获得原始值。
答案 1 :(得分:0)
为避免浮点精度错误,我建议使用decimal
模块:
from decimal import Decimal
a = 1.45698946
limit_a = str(int(a)) + str(Decimal(str(a)) % 1)[1:7]
print(float(limit_a))
输出为:
1.45698