如何在python中使用Decimal()获得值的扩展?
我正在使用函数获取展开后的值 当我尝试对数字使用十进制方法时:如何在python中使用Decimal()获得值的扩展?,python,Python,我正在使用函数获取展开后的值 当我尝试对数字使用十进制方法时:1e-6, 我看到下面的扩展 >>从十进制输入十进制 >>>十进制('1e-6') 十进制('0.000001') 但是当我尝试使用编号:1e-7时,我没有得到正确的扩展 >>从十进制输入十进制 >>>十进制('1e-7') 十进制('1E-7') 当数字的指数为-7或更小时,有人能帮我使用十进制函数得到展开式吗?我认为它正在正确地进行转换,但它只是没有打印出来。请注意,e如何更改为e v =Decimal('1e-7')
1e-6
,
我看到下面的扩展
>>从十进制输入十进制
>>>十进制('1e-6')
十进制('0.000001')
但是当我尝试使用编号:1e-7
时,我没有得到正确的扩展
>>从十进制输入十进制
>>>十进制('1e-7')
十进制('1E-7')
当数字的指数为-7或更小时,有人能帮我使用十进制函数得到展开式吗?我认为它正在正确地进行转换,但它只是没有打印出来。请注意,
e
如何更改为e
v =Decimal('1e-7')
print("{:.10f}".format(v))
这将产生
0.0000001000
是的,看起来不错。但是如果我加/减2个值。假设
1e-6
和1e-7
那么它通过使用以下代码val=“{.10f}”。格式(十进制('3.47e-7'))给出正确的结果;sum=Decimal(val)+Decimal(val)=Decimal('0.0000038170')
但是当我尝试将它们相乘时,却没有得到正确的格式mul=Decimal(first_val)*Decimal(second_val)=Decimal('1.20409000E-12')
所以我们没有正确的方法来实现吗it@AbinashBiswal是同一个号码!您不必担心数字的内部表示形式或其默认字符串表示形式。非常小的数字是用科学记数法写的,因为在有效数字之前数完所有的零是一件痛苦的事情。如果您想要固定格式,请像使用“{:10f}”一样将其格式化为固定格式。format()
是的,您是对的!谢谢你的回复。