• chorme加减乘除浮点数处理


    在处理简单的1-0.7的时候发现chorme给的结果竟然是0.30000000000000004,瞬间蛋疼了,这数据能用?!
    然后去百度找到了简单的两个数的加减乘除,然后修改了下,除了除法都可以多个数进行操作。那样3个数相加就不用套个add函数了。
    原网址:http://www.2cto.com/kf/201502/376763.html
    function add() {
        var e,arr=[0],result = 0;
        for (var i = 0; i < arguments.length; i++) {
            try {
                arr.push(arguments[i].toString().split(".")[1].length);
            } catch (f) {}
        };
        arr.sort(function(a,b){return(b-a)});
        e = Math.pow(10, arr[0]);
        for (var i = 0; i < arguments.length; i++) {
            try {
                result += mul(arguments[i],e)
            } catch (f) {}
        };
        return result / e;
    }
     
    function sub() {
        var e,arr=[0],result;
        for (var i = 0; i < arguments.length; i++) {
            try {
                arr.push(arguments[i].toString().split(".")[1].length);
            } catch (f) {}
        };
        arr.sort(function(a,b){return(b-a)});
        e = Math.pow(10, arr[0]);
        result = mul(arguments[0],e);
        for (var i = 1; i < arguments.length; i++) {
            try {
                result -= mul(arguments[i],e)
            } catch (f) {}
        };
        return result / e;
    }
     
    function mul() {
        var result = 1,c = 0;
        for (var i = 0; i < arguments.length; i++) {
            try {
                c += arguments[i].toString().split(".")[1].length;
            } catch (f) {}
        };
        for (var i = 0; i < arguments.length; i++) {
            result *= Number(arguments[i].toString().replace(".", ""));
        };
        result /= Math.pow(10, c);
        return result;
    }
     
    function div(a, b) {
        var c, d, e = 0,
            f = 0;
        try {
            e = a.toString().split(".")[1].length;
        } catch (g) {}
        try {
            f = b.toString().split(".")[1].length;
        } catch (g) {}
        return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), mul(c / d, Math.pow(10, f - e));
    }
  • 相关阅读:
    node.js 建立live-server
    Django 反向解析
    Boost智能指针——weak_ptr
    boost::intrusive_ptr原理介绍
    shared_ptr 的使用及注意事项
    小感
    JQ对页面中某个DIV的大小变化进行监听
    使用java Apache poi 根据word模板生成word报表
    字节byte自适应转换为B、KB、MB、GB、TB
    jq实现 元素显示后 点击页面的任何位置除元素本身外 隐藏元素
  • 原文地址:https://www.cnblogs.com/kdbBlog/p/5086610.html
Copyright © 2020-2023  润新知