博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS浮点数相乘运算解决误差的方法 转载
阅读量:5834 次
发布时间:2019-06-18

本文共 482 字,大约阅读时间需要 1 分钟。

/**

* js乘法:两个浮点数的乘积会出现误差,这个函数返回较为精确的结果。
*/
function Multiply(arg1, arg2) {
    var m = 0; //扩大后的两数相乘比初始值相乘扩大的倍数
    var s1 = arg1.toString();
    var s2 = arg2.toString();

    try {

        //获取第一个参数的小数部分长度,去掉小数点后,小数部分的长度就是初始值的小数点右移的位数
        m += s1.split(".")[1].length;
    } catch (e) {
    }

    try {

        获取第二个参数的小数部分长度,去掉小数点后,小数部分的长度就是初始值的小数点右移的位数
        m += s2.split(".")[1].length;
    } catch (e) {
    }

    //返回值:将参数的小数点去掉然后相乘,最后除以Mah.pow(10,m)

    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
}

 参考信息

转载地址:http://maucx.baihongyu.com/

你可能感兴趣的文章
JAVA MAC 配置
查看>>
c#代码技巧
查看>>
LeetCode 453 Minimum Moves to Equal Array Elements
查看>>
1134 最长上升子序列 (序列型 DP)
查看>>
js冒泡排序
查看>>
ssh命令使用
查看>>
第一次作业 4班卢炳武
查看>>
const int * 与 int *const
查看>>
抽象类的调用
查看>>
libjpeg.a exists or that its path is correct
查看>>
android 资源管理之 Asset/raw 1
查看>>
使用硬盘,安装双系统,Win7+CentOS
查看>>
Javascript学习总结
查看>>
快速安装infobright
查看>>
【转】Mean shift 聚类分析
查看>>
JS 操作Excel格式
查看>>
隐藏专杀工具文件夹病毒专杀工具
查看>>
php 用正则替换中文字符一系列问题解决
查看>>
ActiveMQ应用笔记一:基本概念&安装
查看>>
Hibernate download
查看>>