我想把一个浮点型0.002116转换成2.116m(milli)。我看到了将浮点型125510.92808470126转换为125.51K的库,但输出的0带有上面给出的浮点值。
到目前为止,我尝试过numerize python库。
发布于 2019-07-20 12:02:24
这可能会起作用,可以按您的喜好更改:
#!/usr/bin/env python
pfx_up = [(1e3, 'kilo'), (1e6, 'mega'), (1e9, 'giga'), (1e12, 'tera')]
pfx_down = [(0.001, 'milli'), (1e-6, 'micro'), (1e-9, 'nano'), (1e-12, 'pico'), (1e-15, 'femto')]
def make_prefix( num ) :
result = str(num)
if num > 1 :
for p in pfx_up :
if num > p[0]*10 :
result = '%.2f %s' % (num / p[0], p[1])
else :
for p in pfx_down :
if num < p[0]*100 :
result = '%.2f %s' % (num / p[0], p[1])
return result
if __name__ == '__main__' :
print make_prefix(0.01234)
print make_prefix(1234342)
print make_prefix(12343464356)
print make_prefix(0.00001234)
print make_prefix(0.0000001234)
'''
outputs:
12.34 milli
1234.34 kilo
12.34 giga
12.34 micro
0.12 micro
'''https://stackoverflow.com/questions/57121501
复制相似问题