javascript - 字符串到数字的混淆

标签 javascript jquery parseint

为什么parseInt("-1000-500-75-33")返回-1000

它不应该返回这些数字的总和:-1608

如何获取字符串 "-1000-500-75-33" 作为这些数字的总和返回?

最佳答案

parseInt 将尝试从字符串的开头开始获取数字。

由于 - 是数字开头的有效字符,因此它会解析字符串,直到找到无效的内容。第二个 - 无效,因为任何整数都不能在其中包含 -,只能包含数字。因此它停在那里并认为该数字已“完成”。

<小时/>

现在,如果您想处理表达式,您可以使用eval,如下所示:

eval("-1000-500-75-33")

这将按预期返回 -1608

关于javascript - 字符串到数字的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42568243/

相关文章:

java - 无法解析 Integer.ParseInt 抛出的 java.lang.NumberFormatException

java - 展开压缩字符串

javascript - 删除 html 标签但保留内部 html

php - 如何使用 jQuery Datepicker 比较开始日期和结束日期?

javascript计时器更改文本内容

javascript - 多次显示/隐藏更改文本

javascript - 如何使滚动保持向下,但不想锁定

javascript - jQuery 从属性中获取 JSON

javascript - 切换数组中的对象而不创建新数组

javascript - 调整浏览器窗口大小时更改图像