我有一个函数,我想返回十进制数1.0000 [不是字符串],如何在不使用NUMPY或SCIPY的情况下执行此操作?无论我做什么,它都会返回1.0。
答案 0 :(得分:1)
好像您正在寻找decimal
包:
>>> from decimal import *
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')
答案 1 :(得分:0)
无论你如何编写,Python的浮点数的精度大约是16位数。 1.0
与1.0000
的号码相同。差异不在数量上,而在于显示中涉及的数字到字符串转换。因此,正如你所说,做你想要的唯一方法就是在你的条款下明确地将它转换为字符串:"{:.4f}".format(1.0)
。