js 浮點精度計算

/**

  • 解決兩個數(shù)相加精度丟失問題
  • @param a
  • @param b
  • @returns {Number}
    /
    function floatAdd(a, b) {
    var c, d, e;
    if(undefined==a||null==a||""==a||isNaN(a)){a=0;}
    if(undefined==b||null==b||""==b||isNaN(b)){b=0;}
    try {
    c = a.toString().split(".")[1].length;
    } catch (f) {
    c = 0;
    }
    try {
    d = b.toString().split(".")[1].length;
    } catch (f) {
    d = 0;
    }
    e = Math.pow(10, Math.max(c, d));
    return (floatMul(a, e) + floatMul(b, e)) / e;
    }
    /
    *
  • 解決兩個數(shù)相減精度丟失問題
  • @param a
  • @param b
  • @returns {Number}
    /
    function floatSub(a, b) {
    var c, d, e;
    if(undefined==a||null==a||""==a||isNaN(a)){a=0;}
    if(undefined==b||null==b||""==b||isNaN(b)){b=0;}
    try {
    c = a.toString().split(".")[1].length;
    } catch (f) {
    c = 0;
    }
    try {
    d = b.toString().split(".")[1].length;
    } catch (f) {
    d = 0;
    }
    e = Math.pow(10, Math.max(c, d));
    return (floatMul(a, e) - floatMul(b, e)) / e;
    }
    /
    *
  • 解決兩個數(shù)相乘精度丟失問題
  • @param a
  • @param b
  • @returns {Number}
    /
    function floatMul(a, b) {
    var c = 0,
    d = a.toString(),
    e = b.toString();
    try {
    c += d.split(".")[1].length;
    } catch (f) {}
    try {
    c += e.split(".")[1].length;
    } catch (f) {}
    return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
    }
    /
    *
  • 解決兩個數(shù)相除精度丟失問題
  • @param a
  • @param b
  • @returns
    */
    function floatDiv(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(".", "")), floatMul(c / d, Math.pow(10, f - e));
    }
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容