我该如何显示:
十进制('40800000000.00000000000000')为'4.08E + 10'?
我试过这个:
>>> '%E' % Decimal('40800000000.00000000000000')
'4.080000E+10'
Run Code Online (Sandbox Code Playgroud)
但它有额外的0.
我需要对浮点数进行舍入以在UI中显示.例如,一个重要人物:
1234 - > 1000
0.12 - > 0.1
0.012 - > 0.01
0.062 - > 0.06
6253 - > 6000
1999年 - > 2000年
有没有一种很好的方法可以使用Python库来实现这一点,还是我必须自己编写?
我试图用python将数字打印成工程格式,但我似乎无法让它工作.语法SEEMS足够简单,但它不起作用.
>>> import decimal
>>> x = decimal.Decimal(1000000)
>>> print x
1000000
>>>> print x.to_eng_string()
1000000
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么会这样.这两个值不相等(一个是字符串,另一个是int).设置各种上下文decimal似乎也没有帮助.任何线索或想法?