基本上,0.45应该变为0.4而不是0.5.
并且1945.01应该变为1000.0而不是2000.0.
from math import *def roundDown(x,sigfigs=1): #towards -inf exponent = floor(log10(copysign(x,1))) #we don't want to accIDentally try and get an imaginary log (it won't work anyway) mantissa = x/10**exponent #get full precision mantissa # change floor here to ceil or round to round up or to zero mantissa = floor(mantissa * 10**(sigfigs-1)) / 10**(sigfigs-1) #round mantissa to sigfigs return mantissa * 10**exponent
向零或inf舍入就像将地板改为ceil或round一样容易.以数字方式计算尾数和指数而不是转换为字符串的另一个好处是可以轻松更改sigfigs的数量
总结以上是内存溢出为你收集整理的Python – 如何将浮点数舍入为1位有效数字全部内容,希望文章能够帮你解决Python – 如何将浮点数舍入为1位有效数字所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)