×

Number()和parseInt()都可以用来进行数字的转换

作者:Terry2020.01.10来源:Web前端之家浏览:6509评论:0

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()返回包括浮点的所有数字。

您的支持是我们创作的动力!
温馨提示:本文作者系Terry ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://www.jiangweishan.com/article/js8209348209348098.html

网友评论文明上网理性发言 已有0人参与

发表评论: