javascript - Javascript 数组连接无法正常工作
问题描述
我有以下数组,我想将它加入一个数字
const arr = [6,1,4,5,3,9,0,1,9,5,1,8,6,7,0,5,5,4,3]
const digits = arr.join("") //6145390195186705543
const digitsToNumber = +arr.join("") //6145390195186705000
console.log(digits);
console.log(digitsToNumber);
可以看到 join 函数有效。但是,当我尝试将其转换为数字时,它会显示一个奇怪的值。你们知道为什么会这样吗?
解决方案
要将连接的字符串转换为数字,您可以使用 parseInt("123") 方法。
const number= parseInt(digitsToNumber)
但是,由于您的数字太大或可能更大,Javascript 无法处理包含超过 16 位数字的数字。如果你也有这样的问题,你可以使用一些外部大数字库,比如BigNumber.Js。
编辑:根据 Teemu 的评论,您还可以使用链接原生大整数处理库。
推荐阅读
- python - Why doesn't PyCharm unit-test discovery work on directories?
- c# - 如何从asp.net中的相对路径中删除文件
- python - 多元线性回归获得最佳拟合
- vba - 对象工作表的方法范围失败
- java - 在 Spring Security 中测试会话失效
- angular - Bootstrap 4.0 隐藏元素在 ng-template 中不起作用
- python - 计算点列表之间距离的Pythonic方法
- reactjs - 通过反应隐藏多个元素中的一个元素
- android - 带有应用程序包的 Android MotionLayout 无法正常工作
- r - 如何使用 setNames() 重命名数据框的特定变量?