首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数字转换为标准前缀?

问如何将数字转换为标准前缀?
EN

Stack Overflow用户
提问于 2019-07-20 11:09:14
回答 1查看 111关注 0票数 2

我想把一个浮点型0.002116转换成2.116m(milli)。我看到了将浮点型125510.92808470126转换为125.51K的库,但输出的0带有上面给出的浮点值。

到目前为止,我尝试过numerize python库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-20 12:02:24

这可能会起作用,可以按您的喜好更改:

代码语言:javascript
复制
#!/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
'''
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57121501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档