JavaScript学习笔记--转换成Number类型

162 阅读1分钟

使用Number()函数

1、字符串转数组

  • 含纯数字的字符串,直接转为数字
  • 含非数字的内容,则转换为NaN
let str='123';
let num=Number(str);    //123
let str1='a123';
num=Number(str1);   //NaN
  • 数字字符串含+/-表示正负,正常转换
let str='+123';
let num=Number(str);    //123
str='-123';
num=Number(str);    //-123
  • 空字符串或全是空格的字符串,转换为数字0
let str="";
let num=Number(str);    //0
str="    ";
num=Number(str);    //0

2、布尔值转数字

  • true转为1,false转为0

3、null转数字

  • null转为0

4、undefined转数字

  • undefined转为NaN
Number(null); //0
Number(undefined)   //NaN

综上:

空字符串/null/fals --> 0

undefined和不仅含数字的字符串 --> NaN

利用 + - 算数运算符转换

在需要转换的类型前加上+/-

“+”不会改变数据的正负性,“-”会改变

+null;  //0
-null;  //-0
+undefined; //NaN
-undefined; //NaN
+'123';     //123
-"123";     //-123
+'1A23';    //NaN

使用parseInt()/parseFloat()转换

可以从不单纯含数字的字符串中提取连续的数字部分

parseInt('12a23');  //12
parseFloat('12.3a3.4'); //12.3
parseFloat('12.3.4abc'); //12.3