码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 大整数相加后精度 如何解决

时间:2018-11-03 19:14:32      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:字符   返回值   javascrip   数值   gnu   方法   pre   length   大数   

JS的数据精度问题,当数值范围超过限制,即会转换为科学计数法,数据精度就会出现误差

算法:
function bigNumberAdd(a,b) {
var res = ‘‘, c = 0;//进位值,初始c值为0
a = a.split(‘‘);//将数据拆分为数组
b = b.split(‘‘);//同上
while (a.length || b.length || c) {//遍历数据
c += ~~a.pop() + ~~b.pop();//进位值c
res = c % 10 + res;//依次相加
c = c > 9;//若c大于9,c为true,下次循环中true转换为1,即有进位
    }
return res.replace(/^0+/, ‘‘);//返回值
}

以上方法即可正确的实现大数据相加
bigNumberAdd(‘12478945645654‘,‘489789411231231523‘);//调用
注意:参数需传递字符串类型


JavaScript 大整数相加后精度 如何解决

标签:字符   返回值   javascrip   数值   gnu   方法   pre   length   大数   

原文地址:https://www.cnblogs.com/rouge-ya/p/9901550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!