我试图将1.2e-08打印为12e-09以供显示,但似乎无法获取格式说明符。
有没有一种方法可以在不使用字符串操作或正则表达式的情况下以非标准形式表示浮点数?
编辑:如果问题还不清楚,我正在寻找一个能让我用任何比例表达任何数字的东西例如,如果我想用1e-12的比例来表示所有的东西,那么我应该有12000e-12这样的东西
谢谢
最佳答案
检查十进制模块它应该能够以你想要的格式发布。
http://docs.python.org/library/decimal.html
对于您正在描述的内容(工程符号),有一个to_eng_string()方法。
编辑
根据您的澄清,您可以将数字分为以下几部分:
myNumber = 1.2e-8
myBase = 1e-12
mantissa = myNumber/myBase
print "{0:1}{1:s}".format(mantissa, "{0:1}".format(myBase)[1:])
将打印:
12000.0e-12型
如果知道尾数总是取整数,可以相应地调整格式。