js除法保留小数_js小数加减乘除法,解决丢失精度
我们在计算带小数的加法或者乘法除法的时候,偶尔会得到出乎预料的值,例如:
//加法
1 + 1.57 //输出: 2.5700000000000003
//减法
2 - 1.69 //输出: 0.31000000000000005
//乘法
1.219 * 10 //输出: 12.190000000000001
//除法
5.57 / 100000 //输出: 0.000055700000000000005
丢失精度的原因请查看另一篇文章:JS计算为何丢失精度
为了解决js计算丢失精度问题,我们写出以下方法:
/**
* 加法函数,避免小数丢失精度
*/
decimalsAdd() {
var args = arguments, //获取所有的参数
d = 0, //定义小数位的初始长度,默认为整数,即小数位为0
sum = 0; //定义sum来接收所有数据的和
//循环所有的参数
for (var key in args) {
//遍历所有的参数
//把数字转为字符串
var str = "" + args[key];
if (str.indexOf(".") != -1) {
//判断数字是否为小数
//获取小数位的长度
var temp = str.split(".")[1].length;
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
