Number()和parseInt()都可以用来进行数字的转换,那么parseInt()和Number()之间的区别是什么?
parseInt()函数:
parseInt()函数用于解析字符串并将其转换为指定基数的整数。它需要两个参数,要解析的字符串和要使用的基数。基数是一个介于2和36之间的整数,表示数字的基数。
如果parseInt()在解析过程中遇到不符合指定基数的字符,它将忽略该字符和所有后续字符。然后它将解析到该点的值作为一个整数返回。在这种情况下,允许使用前导或尾随的空格。
如果parseInt()函数得到参数如果以数字开头,就会返回开头的合法数字部分;如果以非数字开头,则它将返回NaN。此NaN值不是任何基数的有效数字,不能用于任何数学计算。
语法:
parseInt(string, radix)
Number()函数:
Number()函数用于创建基本类型Number对象。它接受一个参数,即数字的值。此值可以使用字符串传递,Number函数将尝试将其表示为数字。如果参数无法转换为数字,则返回NaN值。此NaN值不是有效数字,不能用于任何数学计算。
语法:
Number(valueString)
parseInt()和Number()之间的区别
下面通过实例来看看parseInt()和Number()之间的区别。
示例1:
这个例子显示parseInt()试图将值转换为可以转换为整数的最后一个字符。后面的空白和字符将被忽略,因为它们是无效的。另一方面,Number()函数只返回NaN。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>parseInt()和Number()之间的区别</title> </head> <body> <h2>parseInt()和Number()之间的区别</h2> <p>字符串为: 10.6 objects</p> <p>parseInt的输出为: <span class="parseOutput"></span></p> <p>Number的输出为: <span class="numberOutput"></span></p> <script type="text/javascript"> let string = '10.6 objects'; let number1 = parseInt(string); let number2 = Number(string); document.querySelector('.parseOutput').textContent = number1; document.querySelector('.numberOutput').textContent = number2; </script> </body> </html>
示例2:
parseInt()仅返回整数值的区别,而Number()返回包括浮点的所有数字。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>parseInt()和Number()之间的区别</title> </head> <body> <h2>parseInt()和Number()之间的区别</h2> <p>字符串为: 3.1415</p> <p>parseInt的输出为: <span class="parseOutput"></span></p> <p>Number的输出为: <span class="numberOutput"></span></p> <script type="text/javascript"> let string = '3.1415'; let number1 = parseInt(string); let number2 = Number(string); document.querySelector('.parseOutput').textContent = number1; document.querySelector('.numberOutput').textContent = number2; </script> </body> </html>
区别:
1、当转换的内容包含非数字的时候,Number() 会返回NaN(Not a Number);parseInt() 要看情况,如果以数字开头,就会返回开头的合法数字部分,如果以非数字开头,则返回NaN。
2、parseInt()仅返回整数值的区别,而Number()返回包括浮点的所有数字。
网友评论文明上网理性发言 已有0人参与
发表评论: