zoukankan      html  css  js  c++  java
  • Python中的round()函数原理

    1. 问题:自己以前不知道这个差别,所以找了很久才找出这个bug,希望大家注意:

      看下示例程序:

      round()函数的功能是“四舍五入”,从以上结果可以发现,和我们普遍意义上理解的“四舍五入”差别还是很大的、

    2. 原因:

      究其原因是因为round()的采用的四舍五入的标准是一种称为:“四舍六入五成双”的舍入方法:

      四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则,它的精确和科学是基于统计学上的:

        从统计学的角度,“四舍六入五成双”比“四舍五入”要科学,在大量运算时,它使舍入后的结果误差的均值趋于零,而不是像四舍五入那样逢五就入,导致

        结果偏向大数,使得误差产生积累进而产生系统误差,“四舍六入五成双”使测量结果受到舍入误差的影响降到最低。例如:1.15+1.25+1.35+1.45=5.2,若

      按“四舍五入”取一位小数计算:1.2+1.3+1.4+1.5=5.4,按“四舍六入五成双”计算,1.2+1.2+1.4+1.4=5.2,舍入后的结果更能反映实际结果。  

    3. 总结:没有看到特别好的方法,一般比较普遍的方法是自己重写一个函数完成四舍五入的功能

  • 相关阅读:
    P1036 选数(python)解题报告
    P1009 阶乘之和(python)解题报告
    P1002 过河卒(python) 解题报告
    来一波数据结构
    KMP算法
    链表实现约瑟夫
    闲谈Tampermonkey
    CF#574E. OpenStreetMap 题解
    洛谷 P2033 Chessboard Dance
    洛谷 P2056 采花
  • 原文地址:https://www.cnblogs.com/Joyes1989/p/3150260.html
Copyright © 2011-2022 走看看