详解JS转换数值函数Number()、parseInt()、parseFloat()

作者:青柠

时间:2026-10-22

浏览:388

本文详细解析JavaScript中三种数值转换函数:Number()、parseInt()和parseFloat()。Number()适用于所有数据类型,遵循严格的布尔、null、undefined及字符串转换规则;parseInt()和parseFloat()专用于字符串转数值,重点介绍radix参数对进制解析的影响及截断行为。

文章目录

JavaScript提供了三种将非数值转换为数值的函数:Number()、parseInt()和parseFloat()。其中,Number()作为转型函数可处理任意数据类型,而另外两个函数则专门用于将字符串转换为数值。针对相同的输入,这三个函数会返回不同的结果。

Number()

Number()函数的转换规则如下:

• 如果参数是Date对象,返回从1970年1月1日至今的毫秒数。 • 如果是Boolean值,true和false将分别被替换为1和0 • 如果是数字值,只是简单的传入和返回 • 如果是null值,返回0 • 如果是undefined,返回NaN • 如果是字符串,遵循下列规则: • 如果字符串只包含数字(包括十六进制格式“0x”),则将其转换成对应的十进制。 • 如果字符串是空的,返回0。 • 如果字符串包含其它字符,返回NaN。

• 如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,然后再依次按照前面的规则转换返回的字符串值。


document.write(Number(true)+"<br/>"); //返回1
document.write(Number(false)+"<br/>"); //返回0
document.write(Number(null)+"<br/>"); //返回0
document.write(Number(undefined)+"<br/>"); //返回NaN
document.write(Number("001")+"<br/>"); //返回1
document.write(Number("001.1")+"<br/>"); //返回1.1
document.write(Number("0x10")+"<br/>"); //返回16
document.write(Number(new String("11aa"))+"<br/>"); //返回NaN

parseInt()

返回由字符串转换得到的整数。

parseInt(numString, [radix])

参数

numString必选项。要转换为数字的字符串。radix可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。

说明

parseInt()方法返回与保存在numString中的数字值相等的整数。如果numString的前缀不能解释为整数,则返回NaN(而不是数字)。它会忽略字符串前面的空格,直至找到第一个非空格字符。

示例


document.write(parseInt("1")+"<br/>"); //返回1
document.write(parseInt("  1")+"<br/>"); //返回1
document.write(parseInt("1.1")+"<br/>"); //返回1
document.write(parseInt("11aa")+"<br/>"); //返回11
document.write(parseInt("020")+"<br/>"); //返回16(八进制)
document.write(parseInt("")+"<br/>"); //返回NaN
document.write(parseInt("AF")+"<br/>"); //返回NaN
document.write(parseInt("AF",16)+"<br/>"); //返回175
document.write(parseInt("0xAF")+"<br/>"); //返回175

parseFloat()

返回由字符串转换得到的浮点数。

parseFloat(numString)

必选项 numString 参数是包含浮点数的字符串。

说明

parseFloat()返回与numString中保存的数相等的数字表示。如果numString的前缀不能解释为浮点数,则返回NaN(而不是数字)。

总结

以上所述是小编给大家介绍的JS转换数值函数Number()、parseInt()、parseFloat(),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章