我有一个简单但令人困惑的数学问题。
以下代码将从字符串(通常包含在 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/