js运算小数问题
程序员文章站
2022-07-15 09:35:22
...
说明:javascript的数字运算结果会有误差,在两个浮点数进行运算的时候会比较明显,如8.075×1000=8074.999999。以下这些函数返回较为精确的运算结果。
除法函数
function divide(num1,num2){
var t1 = 0,t2 = 0,r1,r2;
try{
t1 = num1.toString().split(".")[1].length
}catch(e){}
try{
t2 = nym2.toString().split(".")[1].length
}catch(e){}
with(Math){
r1 = Number(num1.toString().replace(".",""))
r2 = Number(num2.toString().replace(".",""))
return (r1/r2)*pow(10,t2-t1);
}
}
乘法函数
function multiply(num1,num2){
var m = 0,s1=num1.toString(),
s2 = num2.toString();
try{
m += s1.split(".")[1].length
}catch(e){}
try{
m += s2.split(".")[1].length
}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
加法函数
function plus(num1,num2){
var r1,r2,m;
try{
r1 = num1.toString().split(".")[1].length
}catch(e){
r1 = 0
}try{
r2 = num2.toString().split(".")[1].length
}catch(e){
r2 = 0
}
m = Math.pow(10,Math.max(r1,r2))
return (num1*m+num2*m)/m
}
上一篇: java获取指定范围内的随机小数
下一篇: 关于Java中保留小数位的几种汇总
推荐阅读
-
使用Python的SymPy库解决数学运算问题的方法
-
js中typeof运算符返回规则
-
解决js相同的正则多次调用test()返回的值却不同的问题
-
JS 实现 ajax 异步浏览器兼容问题
-
浅谈webpack打包生成的bundle.js文件过大的问题
-
CPU浮点运算与CPU整点运算分别决定其什么方面的性能? 问题讲解
-
Three.js使用THREE.TextGeometry创建三维文本中文乱码的问题如何解决?
-
使用three.js开发全景漫游视角问题全景漫游视角
-
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
-
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案