在JavaScript中将字符串转换为整数?

在JavaScript中将字符串转换为整数?

问题描述:

如何在JavaScript中将字符串转换为整数?

How do I convert a string to an integer in JavaScript?

最简单的方法是使用原生数字功能:

The simplest way would be to use the native Number function:

var x = Number("1000")

如果这对您不起作用,则有 parseInt ,一元加, parseFloat with floor Math.round 方法。

If that doesn't work for you, then there are the parseInt, unary plus, parseFloat with floor, and Math.round methods.

parseInt:

parseInt:

var x = parseInt("1000", 10); // you want to use radix 10
    // so you get a decimal number even with a leading 0 and an old browser ([IE8, Firefox 20, Chrome 22 and older][1])

如果您的字符串已经是整数形式,那么一元加上

unary plus if your string is already in the form of an integer:

var x = +"1000";

如果您的字符串是或者可能是浮点数并且您想要一个整数:

if your string is or might be a float and you want an integer:

var x = Math.floor("1000.01"); //floor automatically converts string to number

或者,如果您将要使用Math.floor好几次:

or, if you're going to be using Math.floor several times:

var floor = Math.floor;
var x = floor("1000.01");

如果您是在调用parseInt时忘记放入基数的类型,则可以使用parseFloat然后围绕它你喜欢。我在这里使用楼层。

If you're the type who forgets to put the radix in when you call parseInt, you can use parseFloat and round it however you like. Here I use floor.

var floor = Math.floor;
var x = floor(parseFloat("1000.01"));

有趣的是,Math.round(如Math.floor)会进行字符串到数字转换,所以如果你想要数字四舍五入(或者如果你在字符串中有一个整数),这是一个很好的方式,也许是我的最爱:

Interestingly, Math.round (like Math.floor) will do a string to number conversion, so if you want the number rounded (or if you have an integer in the string), this is a great way, maybe my favorite:

var round = Math.round;
var x = round("1000"); //equivalent to round("1000",0)