我需要按指定的精度
获取qty
数字,如下所示:
qty = 0.1284
precision = 0.01
output = 0.12
这看起来很简单,但我无法完成它,因为我有一个精度
以上变量。
最佳答案
float 数学并不精确 - 请参阅 Is floating point math broken? .
您可以使用round()舍入 - 你似乎想截断 - 你可以用数学方法做到这一点:
qty = 0.1284
precision = 0.01
truncated = ((qty * (1/precision)) // 1 ) * precision
print(truncated)
输出:
0.12
这会将您的数字乘以正确的系数,整数除以 1 以去除剩余的部分数字,并再次乘以精度以返回您的浮点值。
关于python - 按给定精度舍入 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65070799/