JavaScript 数字


Javascript中数字都以64位双精度浮点数表示,整数也以浮点数表示。


数字类型还能表示三种特殊值:+Infinity(正无穷)、-Infinity(负无穷)和 NaN (not a number,不是数字)。

内置的Number对象用来处理数字。

字符串转换成数字

函数parseInt、parseFloat用于将字符串转换成整数和浮点数。parseInt可用于解析二、八、十、十六进制整数,parseFloat只用于解析十进制浮点数。

一元运算符+也可以将字符串转换成数字。

如果字符串转换成数字不成功,返回值为NaN(not a number)。

下面是字符串转换成数字的例子:

<!DOCTYPE html><html><body><pre>
<script type="text/javascript">
  document.writeln("parseInt(\"123abc\") : " + parseInt("123abc"));       // 123
  document.writeln("parseInt(\"123.45abc\") : " + parseInt("123.45abc")); // 123
  document.writeln("parseFloat(\"123.45abc\") : " + parseFloat("123.45abc")); // 123.45
  document.writeln("parseFloat(\"abc\") : " + parseFloat("abc")); // NaN

  document.writeln("+\"23\" : " + (+"23"));     // 23
  document.writeln("+\"23ab\" : " + (+"23ab")); // NaN

  document.writeln("NaN + 2 : " + (NaN + 2)); // NaN
  document.writeln("1 + NaN : " + (1 + NaN)); // NaN
</script>
</pre></body></html>

parseInt和parseFloat函数会逐个转换字符串中的字符,直到遇到不能转换的字符,返回该字符之前所有数字字符组成的数字。

使用一元运算符+转换字符串为数字时,只要字符串中有不能转换成数字的字符,返回值都是NaN。

NaN作为运算数进行任何运算结果都是NaN。