JS中浮点数运算精度问题解决

更新时间:2023-07-26 19:12:36 阅读: 评论:0

JS中浮点数运算精度问题解决
解决js⼩数运算精度问题
类似:0.1+0.2 = 0.30000000000000004;0.11 + 0.345 = 0.45499999999999996;
解决⽅法需要把⼩数转成整数运算完后在转成⼩数汤显祖的代表作
这边以0.11 + 0.345 = 0.45499999999999996;这个为例
代码
//判断⼩数点后有⼏位
let num1 =String().split(".")[1].length;//2
let num2 =String().split(".")[1].length;//3
let baNum =null;武汉有几个火车站
if( num1 > num2 ){//判断取⼩数点后位数多的那⼀个
融通汇信baNum = num1;
}el{
baNum = num2;
}
let sum =(~~(0.11*10** baNum))+(~~(0.345*10** baNum))
sum = sum /10** baNum;//0.455;
封装代码
const decimals=( num1,operationalCharacter,num2 )=>{
let num_1 = num1;
let num_2 = num2;
num1 = String().split(".")[1].length;//2
num2 = String().split(".")[1].length;//3
let baNum =null;
if( num1 > num2 ){//判断取⼩数点后位数多的那⼀个
baNum = num1;
}el{
baNum = num2;
}
let sum;
switch(operationalCharacter){
ca"+":
sum =(~~(num_1 *10** baNum))+(~~(num_2 *10** baNum));
break;
ca"-":
sum =(~~(num_1 *10** baNum))-(~~(num_2 *10** baNum));
break;
ca"*":
sum =(~~(num_1 *10** baNum))*(~~(num_2 *10** baNum));
break;
ca"/":
sum =(~~(num_1 *10** baNum))/(~~(num_2 *10** baNum));
break;
default:
break;
}
sum = sum /10** baNum;
return sum
};
export default decimals;
清蒸桂鱼做法// decimals( num1, operationalCharacter, num2 )
电饭煲炖鸡的做法// num1:运算数1
// operationalCharacter:运算符鹅蛋怎么做好吃
// num2:运算数2如何挽
益智类玩具// decimals(运算数1,运算符,运算数2)

本文发布于:2023-07-26 19:12:36,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1097733.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:运算   数点   做法   解决   问题
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图