pyhon:浮点数用科学计数法表示,指数部分怎么设置输出三位数?
本帖最后由 青出于蓝 于 2022-11-5 15:44 编辑例如:3.1415926
用%e输出为3.141593e+00
可如果我想得到3.141593e+000,应该怎么办?
没办法,主要是这样没意义吧
科学计数法指数为整数值,两位指数已经非常大
且 00 和000 都是一样的,完全不影响代码结果
本帖最后由 tommyyu 于 2022-10-5 19:29 编辑
没有就自己写个函数实现{:10_256:}>>> def add_len(n, l):
n = str(n)
while len(n) < l:
n = '0'+n
return n
>>> def add_len_e(s, l):
try:
temp = s.split('e')
e = 'e'
except:
try:
temp = s.split('E')
e = 'E'
except:
print('出错了!')
temp =e + temp + add_len(temp, l)
return temp + temp
>>> print(add_len_e("%e" % 3.1415926, 3))
3.141593e+000 那只是 字符显示形式而已, 数量级10**99 (10的99次方,一般情况下,肯定足够你用了呀)
真要“画蛇添足”,加个0,也不是不可以,比如这样:s = "{:e}".format(math.pi)
print(s[:-2] + '0' + s[-2:])
3.141593e+000
big = "{:e}".format(1_234_567_890_000)
big
'1.234568e+12'
big[:-2] + '0' + big[-2:]
'1.234568e+012' 本帖最后由 jackz007 于 2022-10-9 12:23 编辑
pi = 3.141592653589793
s = '%e' % pi
s = s[: -2] + '0' + s[-2 :]
print(s)
运行实况:
D:\\Python>python x.py
3.141593e+000
D:\\Python>
页:
[1]