javascript - 将字符串求和为数字

标签 javascript

我正在尝试解决一个在 codewars 上似乎很简单的套路,但我似乎没有做对。

这方面的说明很简单

给定两个整数的字符串表示,返回这些整数之和的字符串表示。

例如:

sumStrings('1','2')//=> '3'

整数的字符串表示除了十个数字“0”到“9”之外不包含任何字符。

这是我试过的

function sumStrings(a,b) { 
  return ((+a) + (+b)).toString();
}

但结果解决了除两个之外的所有问题,这些是我得到的错误

sumStrings('712569312664357328695151392', '8100824045303269669937') - Expected: '712577413488402631964821329', instead got: '7.125774134884027e+26'

sumStrings('50095301248058391139327916261', '81055900096023504197206408605') - Expected: '131151201344081895336534324866', instead got: '1.3115120134408189e+29'

我似乎不明白问题出在哪里。任何帮助都会有所帮助。

最佳答案

您输入的值大于 int 类型的最大值。您可以尝试将代码更改为:

 function sumStrings(a,b) { 
  return ((BigInt(a)) + BigInt(b)).toString();
}

这样它应该返回正确的值

关于javascript - 将字符串求和为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53227662/

相关文章:

javascript - Symfony2 中的 Ckfinder 和 Ckeditor,没有 bundle

javascript - JSONP无响应IE弹出 'Syntax Error'

javascript - 如果滚动条可见,则滚动内容

javascript - 未从 div 下拉列表下的链接中删除类

javascript - Angular2 中页面发出过多 HTTP 请求

javascript - 错误 : Missing credentials in config in my Angular 4 application

javascript - 使用 jQuery 克隆表单输入

javascript - 隐式流和身份服务器 3 : Is it possible to grant a JavaScript client an access token without having the user log in?

javascript - 是否可以为数字输入框中的小按钮添加事件监听器?

javascript - jQuery 什么时候使用 if 语句,什么时候使用函数?