接受两个字符串,如果接受的是数字,需要将数字转为字符串,但有一个点需要注意,转换过程中,可能会带有e,如1.12e+21,即1.12 * 21个0,需要将1.12 * 2个0,然后padStart(21 - 2个0) 。
let a = "9007199254740991";let b = "1234567899999999999";function add(a ,b){//取两个数字的最大长度let maxLength = Math.max(a.length, b.length);//用0去补齐长度a = a.padStart(maxLength , 0);//"0009007199254740991"b = b.padStart(maxLength , 0);//"1234567899999999999"//定义加法过程中需要用到的变量let t = 0;let f = 0;//"进位"let sum = "";for(let i=maxLength-1 ; i>=0 ; i--){t = parseInt(a[i]) + parseInt(b[i]) + f;f = Math.floor(t/10);sum = t%10 + sum;}if(f == 1){sum = "1" + sum;}return sum;}
【JS大额数字相加】
推荐阅读
- 补贴到期、国六B执行或延后,买车还有大额优惠吗?
- 农业银行卡号数字都是多少啊 工商银行卡号多少位数字
- 幸运数字|星座运势预测:2023年3月25日的所有的星座爱情运势
- 幸运数字|星历0321:天蝎提高观察力 处女防止判断失误
- 苏果供应商b2b服务系统_什么是B2B数字化供应链平台?
- 招聘|高职院校建立数字化工厂的意义
- |数字藏品是什么?
- ca认证是什么(ca数字证书初始密码)
- m代表什么(m尺码对应什么数字)
- 什么贷款不看征信秒下(征信花有负债能下款的大额贷款)