python保留有效位小数

       最近遇到python保留有效位小数的问题,我在网上看到的最简洁的回答是用round()函数,但是遇到一个问题,当保留的小数是一个无限循环小数类似于0.3333333...或者保留的最后一位是0但是后面又有非零数字时,round()函数便不再有效工作。因此我的解决办法是把当前小数乘上100000倍取整,然后除以1000即得到百分位数,除以100000便得到原来约简小数。如果执迷于误差请慎重考虑!

str(int(m * 100000)/1000)+"%" #得到百分数,此处主要用于输出。

 

你可能感兴趣的:(python)