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;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部