zoukankan      html  css  js  c++  java
  • python 使用demical模块四舍五入

    前言:

    断言部分需要用到四舍五入,首先使用的是python自带的round(),做四舍五入进位处理,但使用过程中,发现round似乎是当保留小数位的最后一位是偶数,和保留小数位后一位为5时,就不进位。

    一、round()方法

    在数值3092.145,2保留两位小数时,期望返回的是3092.15,实际返回3092.14,不是期望的结果

     二、decimal模块的quantize()方法

    需要注意的时,quantize方法有很多种的rounding,四舍五入的模式,这个决定了,返回的结果是否是期望的

    想要的结果,保留两位小数,不管小数位第二位是否为偶数,后一位是5时,都要进位

    res = Decimal('3209.145').quantize(Decimal('0.00'), rounding="ROUND_HALF_UP")

            try:
                result = Decimal(number).quantize(Decimal('0.00'), rounding="ROUND_HALF_UP")
                return result
            except Exception as e:
                mylog.exception("decimal_round_四舍五入方法出错,请检查{0}".format(e))
    

    参考文章:https://zhuanlan.zhihu.com/p/115431517

  • 相关阅读:
    小小杨的影视空间
    关于励志的事情
    关于2020年的总结
    关于心情不好的时候
    关于我的2020年
    单链表基本操作的实现
    原型模式
    android—安卓系统文件目录结构
    android——apk安装文件的组成结构
    android——项目的组成结构
  • 原文地址:https://www.cnblogs.com/cuitang/p/15434083.html
Copyright © 2011-2022 走看看