General formatting将数字四舍五入为p
有效数字,并且如果指数%f
在exp
之间,则将其打印为浮点数(-4 <= exp < p
),否则它以科学的指数表示法(%e
打印。例如:
> '{0:0.8G}'.format(10000000)
'10000000'
> '{0:0.8G}'.format(0.000001)
'1E-06'
为什么这种情况只允许您指定指数上限的精度,而指数下限却固定为-4?有什么办法可以强制字符串格式来打印低指数的完整数字?
答案 0 :(得分:1)
有什么方法可以强制字符串格式打印完整的数字 低指数?
无法强制G
始终使用定点表示法进行格式化,但是您可以结合自定义精度使用f
与.rstrip()
组合使用:
>>> '{:.10f}'.format(0.0000000001)
'0.0000000001'
>>> '{:.10f}'.format(0.00001).rstrip('0') # remove trailing zeros
'0.00001'
>>> '{:.10f}'.format(1000).rstrip('0').rstrip('.') # remove trailing zeros and '.'
'1000'