JavaScript Number.toExponential() 方法



JavaScript Number.toExponential() 方法返回一个字符串,以指数表示法表示此数字。如果可选参数 'fractionDigits' 不在 [0, 100] 范围内,此方法将引发 'RangeError' 异常。此外,如果您尝试在非数字的对象上调用此方法,则会收到 'TypeError' 异常。

fraction-Digits 是一个整数,用于指定小数点后的位数。默认为指定数字所需的位数。

toExponential() 方法的结果是一个格式如下的字符串 -


 sign + '1.' + mantissa + 'e' + sign + exponent

哪里

  • 'sign' 是数字符号上的 + 或 -。
  • 'mantissa' 是数字的小数部分,四舍五入为 fractionDigits digtis。
  • 'exponent' 是 10 的幂,该数字应乘以

语法

以下是 JavaScript Number toExponential() 方法的语法 -


 toExponential(fractionDigits)

参数

此方法接受一个名为“fractionDigits”的可选参数,如下所述 -

  • fractionDigits(可选)− 指定小数点后位数的整数。

返回值

此方法返回一个字符串,该字符串以指数表示法表示此数字,小数点前有一位数字。

示例 1

在此示例中,我们将演示如何在 JavaScript 中使用 toExponential() 方法以指数表示法表示数字。


<html>
<head>
<title>JavaScript toExponential() Method</title>
</head>
<body>
<script>
	 	const val = 5;
	 	document.write("Given value = ", val);
	 	document.write("<br>Number in exponential notation = ", val.toExponential());
</script>
</body>
</html>

输出

上面的程序返回一个指数表示法 “5e+0” −

Given value = 5
Number in exponential notation = 5e+0

示例 2

如果我们传递 3 作为可选参数(即 fractionDigits)的值,此方法将表示一个四舍五入到小数点后 3 位的指数表示法的数字。


<html>
<head>
<title>JavaScript toExponential() Method</title>
</head>
<body>
<script>
	 	const val = 5.454312;
	 	const fractionDigits = 3;
	 	document.write("Given value = ", val);
	 	document.write("<br>Fraction digits value = ", fractionDigits);
	 	document.write("<br>Number in exponential notation = ", val.toExponential(fractionDigits));
</script>
</body>
</html>

输出

执行上述程序后,它将返回一个四舍五入到小数点后 3 位的指数表示法,即 −

Given value = 5.454312
Fraction digits value = 3
Number in exponential notation = 5.454e+0

示例 3

如果 fractionDigits 参数的值超出 0 到 100 的范围,该方法会抛出 RangeError 异常。


<html>
<head>
<title>JavaScript toExponential() Method</title>
</head>
<body>
<script>
	 	const val = 5.34565432;
	 	const fractionDigits = -1;
	 	document.write("Given value = ", val);
	 	document.write("<br> Fraction Digits value = ", fractionDigits);
	 	try {
	 	 	 document.write("<br>Number in exponential notation = ", val.toExponential(-1));
	 	} catch (error) {
	 	 	 document.write("<br>",error);
	 	}
</script>
</body>
</html>

输出

上述程序引发 'RangeError' 异常。

Given value = 5.34565432
Fraction Digits value = -1
RangeError: toExponential() argument must be between 0 and 100

示例 4

如果我们在一个 not a number 的对象上调用这个方法,Number toExponential() 方法会抛出一个 “TypeError” 异常。


<html>
<head>
<title>JavaScript toExponential() Method</title>
</head>
<body>
<script>
	 	const val = "abc";
	 	const fractionDigits = 10;
	 	document.write("Given value = ", val);
	 	document.write("<br> Fraction Digits value = ", fractionDigits);
	 	try {
	 	 	 document.write("<br>Number in exponential notation = ", val.toExponential(-1));
	 	} catch (error) {
	 	 	 document.write("<br>",error);
	 	}
</script>
</body>
</html>

输出

上面的程序会抛出一个 'TypeError' 异常,如下所示 -

Given value = abc
Fraction Digits value = 10
TypeError: val.toExponential is not a function