python 保留数字有效位数

网上各种方法 存在一个问题是 数字末尾的0 无法体现如 0.31001 保留三位有效数字 应该是0.310 实际输出0.31目前解决方案 是转成字符串在末尾插0有更好的方案 请联系我import numpy as npdef S

网上各种方法 存在一个问题是 数字末尾的0 无法体现

如 0.31001 保留三位有效数字 应该是0.310 实际输出0.31

目前解决方案 是转成字符串在末尾插0

有更好的方案 请联系我

import numpy as np


def Significant_number(X, precision: int):

    X = str(np.format_float_positional(float(X), precision=precision, unique=True, fractional=False, trim='-'))
    start = False
    print(X)
    n = 0
    a = X.replace('.','')
    for i in a:
        if i == '0' and not start:
            continue
        n += 1
        start = True
    print(n)
    if n < precision:
        if '.' in X:
            X = X + '0' * (precision - n)
        else:
            X = X + '.' + '0' * (precision - n)
        return X
    else:
        return X
    # if len(X)


if __name__ == '__main__':
    print(Significant_number(1700.00001, 6))

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754939614a5217909.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信