如何在JavaScript中将字符串转换为整数?
2022-08-29 21:53:45
如何在JavaScript中将字符串转换为整数?
如何在JavaScript中将字符串转换为整数?
最简单的方法是使用本机函数:Number
var x = Number("1000")
如果这对你不起作用,那么有parseInt,unary plus,parseFloat with floor和Math.round方法。
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])
一元加号(如果您的字符串已经是整数的形式):
var x = +"1000";
如果您的字符串是或可能是浮点数,并且您需要一个整数:
var x = Math.floor("1000.01"); //floor automatically converts string to number
或者,如果您要多次使用 Math.floor:
var floor = Math.floor;
var x = floor("1000.01");
如果你是那种在调用 parseInt 时忘记将基数放进去的类型,你可以使用 parseFloat 并随心所欲地舍入它。在这里我使用地板。
var floor = Math.floor;
var x = floor(parseFloat("1000.01"));
有趣的是,Math.round(如Math.floor)将进行字符串到数字的转换,因此,如果您希望数字四舍五入(或者如果您在字符串中有一个整数),这是一个很好的方法,也许是我最喜欢的:
var round = Math.round;
var x = round("1000"); //equivalent to round("1000",0)
尝试 parseInt 函数:
var number = parseInt("10");
但有一个问题。如果您尝试使用parseInt函数转换“010”,它将检测为八进制数,并将返回数字8。因此,您需要指定一个基数(从 2 到 36)。在本例中,基数为 10。
parseInt(string, radix)
例:
var result = parseInt("010", 10) == 10; // Returns true
var result = parseInt("010") == 10; // Returns false
请注意,在解析任何有效数据后会忽略错误数据。
此 guid 将解析为 51:parseInt
var result = parseInt('51e3daf6-b521-446a-9f5b-a1bb4d8bac36', 10) == 51; // Returns true