zoukankan      html  css  js  c++  java
  • js中小数精度问题

    js中小数的取值为近似值,可能比实际值大,也可能比实际值小,进行“四舍五入”得到的

    例如:alert(0.1+0.2);值为0.300000004     alert(0.2+0.7);值为1.899999999

    js中类似于offsetwidth等都是计算后的值,而且按四舍五入的计算方法计算得到,

      例如:在css中,100.4px;则在js中oDiv.offsetWidth的值为100;

    写一个求和的函数sum,达到下面的效果
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Should equal 15
    sum(1, 2, 3, 4, 5);
    // Should equal 0
    sum(5, null, -5);
    // Should equal 10
    sum('1.0', false, 1, true, 1, 'A', 1, 'B', 1, 'C', 1, 'D', 1,
      'E', 1, 'F', 1, 'G', 1);
    // Should equal 0.3, not 0.30000000000000004
    sum(0.1, 0.2);
    1
    2
    3
    4
    5
    6
    7
    function sum() {
        var nResult = 0;
        for (var i = 0, l = arguments.length; i < l; i++) {
            nResult += window.parseFloat(arguments[i]) || 0;
        }
        return nResult.toFixed(3) * 1000 / 1000;
    }
  • 相关阅读:
    Objective-C中的封装、继承、多态、分类
    C语言知识总结(5)
    C语言知识总结(4)
    C语言知识总结(3)
    C语言知识总结(2)
    C语言知识总结(1)
    H5-定位
    H5——浮动及清浮动
    H5基础标签
    H5盒模型基础
  • 原文地址:https://www.cnblogs.com/yuxingyoucan/p/5774259.html
Copyright © 2011-2022 走看看