2024-03-29 15:43:37 发布
网友
如何显示:
十进制('4080000000000.00000000000000')为'4.08E+10'?
我试过这个:
>>> '%E' % Decimal('40800000000.00000000000000') '4.080000E+10'
但它有那些额外的0
给你电话号码
x = Decimal('40800000000.00000000000000')
从Python 3开始
'{:.2e}'.format(x)
是推荐的方法。
e表示您想要科学符号,.2表示您想要点后面的两位数字。所以你会得到x.xxE±n
e
.2
x.xxE±n
from decimal import Decimal '%.2E' % Decimal('40800000000.00000000000000') # returns '4.08E+10'
在你的“4080000000000.00000000000000”中,还有许多更有效的零,它们的含义与任何其他数字相同。这就是为什么你必须明确地说出你想停在哪里。
如果要自动删除所有尾随零,可以尝试:
def format_e(n): a = '%E' % n return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1] format_e(Decimal('40800000000.00000000000000')) # '4.08E+10' format_e(Decimal('40000000000.00000000000000')) # '4E+10' format_e(Decimal('40812300000.00000000000000')) # '4.08123E+10'
下面是使用format()函数的示例:
format()
>>> "{:.2E}".format(Decimal('40800000000.00000000000000')) '4.08E+10'
official documentation
original format() proposal
给你电话号码
从Python 3开始
是推荐的方法。
e
表示您想要科学符号,.2
表示您想要点后面的两位数字。所以你会得到x.xxE±n
在你的“4080000000000.00000000000000”中,还有许多更有效的零,它们的含义与任何其他数字相同。这就是为什么你必须明确地说出你想停在哪里。
如果要自动删除所有尾随零,可以尝试:
下面是使用
format()
函数的示例:official documentation
original format() proposal
相关问题 更多 >
编程相关推荐