转换后的浮点数到小数点?

时间:2018-12-02 17:17:06

标签: python python-3.x floating-point digits

以防万一

x = 0.898558 #float with zero prefix

我尝试过

from decimal import Decimal
x = 0.898558
print(Decimal(x))

输出:

  

0.898557999999999967855046634213067591190338134765625

我认为我可以做点事情并且尝试过

x = 0.898558
print('%.2f' % x)

输出:

  

0.89

我如何删除0数字,我想要这样的89

4 个答案:

答案 0 :(得分:0)

您可以通过将int转换为字符串并除以小数点来实现。

x = str(x).split('.')[1]

答案 1 :(得分:0)

它只是一个字符串,因此您可以将所需的位切下来:

print( ('%.2f' % x)[2:] )

答案 2 :(得分:0)

乘以100,然后转换为int:

y = int(x*100)

编辑:这是错误的。请参阅评论中的讨论。

答案 3 :(得分:-1)

如果它始终是十进制且前面带有零,则可以这样打印:

print(str(x)[2:4])