zoukankan      html  css  js  c++  java
  • 运算精度问题https://blog.csdn.net/smile_ping/article/details/80284969

    export default {
    add(num1, num2) {
    let r1;
    let r2;
    try { r1 = num1.toString().split('.')[1].length; } catch (e) { r1 = 0; }
    try { r2 = num2.toString().split('.')[1].length; } catch (e) { r2 = 0; }
    const m = 10 ** Math.max(r1, r2);
    const n = (r1 >= r2) ? r1 : r2;
    return ((num1 * m + num2 * m) / m).toFixed(n);
    },
    sub(num1, num2) {
    let r1;
    let r2;
    try { r1 = num1.toString().split('.')[1].length; } catch (e) { r1 = 0; }
    try { r2 = num2.toString().split('.')[1].length; } catch (e) { r2 = 0; }
    const n = (r1 >= r2) ? r1 : r2;
    const m = 10 ** Math.max(r1, r2);
    return ((num1 * m - num2 * m) / m).toFixed(n);
    },
    mul(num1, num2) {
    let m = 0;
    try { m += num1.toString().split('.')[1].length; } catch (e) { m += 0; }
    try { m += num2.toString().split('.')[1].length; } catch (e) { m += 0; }
    return (Number(num1.toString().replace('.', '')) * Number(num2.toString().replace('.', ''))) / (10 ** m);
    },
    div(arg1, arg2) {
    let t1;
    let t2;
    try { t1 = arg1.toString().split('.')[1].length; } catch (e) { t1 = 0; }
    try { t2 = arg2.toString().split('.')[1].length; } catch (e) { t2 = 0; }
    const r1 = Number(arg1.toString().replace('.', ''));
    const r2 = Number(arg2.toString().replace('.', ''));
    return (r1 / r2) * (10 ** (t2 - t1));
    },
    };
    你对生活笑,生活不会对你哭。
  • 相关阅读:
    luogu_1168: 中位数
    luogu_4762: [CERC2014]Virus synthesis
    luogu_4287:双倍回文
    回文自动机学习笔记
    luogu_3645: 雅加达的摩天楼
    python爬今日头条(ajax分析)
    Python多进程multiprocessing.Pool()
    Python爬微博(ajax+mongo)
    python实用函数之join()
    python之tuple与list
  • 原文地址:https://www.cnblogs.com/adanxiaobo/p/9619200.html
Copyright © 2011-2022 走看看