admin 管理员组文章数量: 1184232
网上各种方法 存在一个问题是 数字末尾的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))
版权声明:本文标题:python 保留数字有效位数 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1754939618a3052335.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论