javascript - 获取字符串中连字符后的数值

标签 javascript string

如何提取并获取字符串中连字符后的数值?

这是输入字符串:

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 functionsnumber manipulation一般来说,以及检查 JavaScript's Math object了解当您解决问题时可以使用哪些工具。

关于javascript - 获取字符串中连字符后的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986283/

相关文章:

javascript - 来自 JS 事件的 AngularDart CustomEvent 监听器

javascript - 如何从响应中获取数据数组(带有数组的对象)?

string - HIVE:如何按键对键/值字符串中的值求和

python - 用python NLTK转换否定句中的语句

java - Flash SWF 能否以任何方式与 Java applet 通信,反之亦然?

javascript - 如何使 Bootstrap jQuery 数据表响应并根据页面大小增加/减少滚动条高度?

javascript - KnockoutJS 每个文档绑定(bind)多次

r - 检查两个字符串是否是字谜

javascript - 如何在javascript中分割字符串的最后一个字符

C- 将 realloc 与字符串指针合并