如何提取并获取字符串中连字符后的数值?
这是输入字符串:
var x = "-2147467259"
经过一些处理......返回:
alert(2147467259)
我该如何实现这个目标?
最佳答案
你可以replace
去掉连字符:
alert(+x.replace("-", ""));
是的,+
很重要。它将字符串转换为数字;因此,您可以通过将其替换为任何内容来删除连字符,然后将该操作的结果本质上转换为数字。如果不存在连字符,此操作也将起作用。
您还可以使用 substr
实现这一目标:
alert(+x.substr(1));
您还可以使用 parseInt
将字符串转换为数字(如果存在连字符,则结果为负数),然后求其绝对值:
alert(Math.abs(parseInt(x, 10));
正如 Bergi 所指出的,如果您可以确定字符串中的第一个字符始终是连字符,您可以简单地返回其负数,默认情况下会将值转换为数字,然后对其进行负操作:
alert(-x);
您还可以通过三级运算符检查数字是负数还是正数,然后对其执行相应的操作以确保它是正数:
x = x >= 0 ? +x : -x;
就性能而言,这可能比使用 Math.abs
更便宜,但无论哪种方式,差异都很小。
正如您所看到的,确实有多种方法可以实现这一目标。我建议阅读 JavaScript string functions和 number manipulation一般来说,以及检查 JavaScript's Math object了解当您解决问题时可以使用哪些工具。
关于javascript - 获取字符串中连字符后的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986283/