javascript - 处理字符串中的负数

标签 javascript regex math

我有一个简单但令人困惑的数学问题。

以下代码将从字符串(通常包含在 span 或 div 中)中获取一个数字,并从中减去值 1。

.replace(/(\d+)/g, function(a,n){ return (+n-1); });

这非常有效,除非我们的值低于零。一旦我们达到 -1,我们显然正在处理负减法。

-1 - 1 = -0<br/> -0 - 1 = --1

如何避免这种情况?我可能在这里遇到了一个普遍的数学问题。

最佳答案

问题是你的函数没有将“-1”视为负数 - 它被视为连字符后跟正数 1。

/(-?\d+)/g 也会捕获前导连字符。

关于javascript - 处理字符串中的负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1856521/

相关文章:

javascript - 如何使用 JavaScript 为滚动的 3D 渲染设置动画?

javascript - 如何在不重新链接的情况下将 jQuery 包含在 iframe 中?

javascript - 正则表达式不替换 JS 中的文本

javascript - 正则表达式匹配模式 x 但返回任意字符串 y

android - 色差atan和atan2结果差异

math - n 维 FFT 的计算复杂度

javascript - 窗口最小化时的 AudioContext 计时问题

javascript - ie7-js 导致双垂直间距

python - 将字符串分段成数组,正则表达式?

python - 在 Python 矩阵中,考虑到选择列的成本,如何选择每行一次并获得最低总和?