限制浮点数的小数位数

时间:2018-07-07 22:32:57

标签: python python-3.x

如何在不舍入数字的情况下限制python中“浮点数”的小数位?

例如:

a = 1.45698946
>>
Limit_a = 1.45698

不是:

1.45699

2 个答案:

答案 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