博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决python及round函数四舍五入的问题
阅读量:6724 次
发布时间:2019-06-25

本文共 632 字,大约阅读时间需要 2 分钟。

  hot3.png

1.环境

     python 2.7.9

2.问题

    四舍五入时,不准确。例如:

>>> round(2.655,2)2.65>>> round(2.485,2)2.48>>> round(1.115,2)1.11

3.以下办法不能解决问题

>>> from decimal import Decimal>>> '{:.2f}'.format(Decimal('2.485'))  '2.48'
>>> '{:.2f}'.format(2.675)  '2.67'

4.这样可以解决

def round_up(val,n):    """    :function:替换内置round函数,实现保留n位小数的精确四舍五入        :param val: 类型string或数值型    :param n: 需要保留小数的位数,要求大于0    :return: 四舍五入后的数据,类型string    """    n = int(n)    f = '{:.%sf}'%n    return f.format(round(float(val) * pow(10,n)) / pow(10.0,n))if __name__ == '__main__':      print round_up(1.115,2) # 测试 2.4449,2.655,2.665,1.115

 

转载于:https://my.oschina.net/shong/blog/1789984

你可能感兴趣的文章
MathType可以编辑带圈乘号吗
查看>>
Mac生成ssh key
查看>>
canvas绘图详解-05-线条的属性
查看>>
python socket通信案例
查看>>
第十章
查看>>
C++typedefine用法小结
查看>>
CSS3边框特效
查看>>
Cocos2D坐标系
查看>>
获取word中的原始大小图片
查看>>
en_java去重排序
查看>>
(一)单例模式详解
查看>>
使用MAT分析内存泄露
查看>>
Android 原始套接字
查看>>
javascript 数组、json连接
查看>>
(寒假集训) 不等数列
查看>>
扫二维码登录实现原理,php版
查看>>
Foundation框架—— 数组 (NSArray NSMutableArray )
查看>>
UIView添加圆角边框
查看>>
简单用静态语言实现动态数组
查看>>
day-5 装饰器 迭代器 生成器
查看>>