Python:计算十进制后的位数给出了错误的答案

时间:2017-05-04 14:12:32

标签: python-2.7 floating-point decimal odoo-8

我的某个表单中有一个浮点字段,将其视为 field_x 。基于 field_x 我有一些计算。 毕竟如果 field_x 在十进制结果后面有n位数字,也应该有n位数。

例如: field_x = 0.00000001(十进制后的n位数)

结果=一些计算

如果结果= 22 我必须将其显示为22.00000000(十进制后的n位数)

len(str(number-int(number))[1:])给出答案

**这里的数字可以是0.00101,0.110,0.787等

但对于像 0.000001 这样的某些值,它给出的答案不正确

1 个答案:

答案 0 :(得分:0)

我在任何地方都找不到适合这个问题的答案。 要么我们需要使用双精度,这在odoo中是不可能的,或者我们必须转换为字符串并获得指数长度。 我选择了第二个。 谢谢