JS中数据转换那些事

本文介绍了JavaScript中常见的数据转换方法,包括字符串转整数、小数及数字转字符串,详细讲解了parseInt、Number、parseFloat等函数的用法,并探讨了布尔型与其他类型之间的转换规则。此外,还提到了JavaScript的隐式类型转换在运算符作用下的转换规律。
摘要由CSDN通过智能技术生成

数据转换是开发过程中最常碰到的问题之一,今天来浅记录一下。

字符串转整数

方法一:parseInt()

该方法参数为字符串,结果是字符串转换而来的整数。如果字符串的首字符不是一个数字则转换失败,返回NaN,否则一直转换到字符串中第一个不是数字的字符为止。
parseInt() 还可以有第二个参数,表示待转换字符串的进制。

示例:

parseInt("12");  
parseInt("12.2");  
parseInt("C",16);  
parseInt("12a2");  
parseInt("0XC");     //以上均返回数字12  
parseInt("a12");     //失败  返回NaN

方法二:Number()

使用 Number() 转换一个字符串,这个字符串必须是只含有数字的字符串,即数字的字符串形式。
示例:

Number("12");     //返回12  
Number("12a2");   //返回NaN  
Number("");       //返回0  

字符串转小数

方法一:parseFloat()

parseFloat() 方法只转换到字符串中第一个不是数字的字符为止,当然这个字符不包括第一个小数点。

示例:

parseFloat("12");      //返回12  
parseFloat("12.2a");   //返回12.2  
parseFloat("12.2.2");  //返回12.2,第二个小数点会让转换停止  
parseFloat(null);      //返回0  

方法二:Number()

上面示例了,这里就不再赘述了。

数字转字符串

方法一:toString()

实现一般的数字转字符串,括号内有一个可选的参数,指以几进制的形式转换该字符串,如数字12调用 toString(16) 得到的结果就是 C,即12的16进制表示方式。

方法二:String()

是强制类型转换,可以转换 null 和 undefined,而 toString() 不可以。
示例:

let myNum = 15;  
console.log(myNum.toString());       //输出"15"  
console.log(myNum.toString(16));     //输出"F"  
console.log(String(myNum));          //输出"15"  

布尔型与其他类型的相互转换

方法:Boolean()

布尔型的值只有两个 true 和 false 。转换规则如下:

  • 布尔型转为字符串直接就是字符串 true 或者 false
  • 布尔型转为数字时,true为1,false为0
  • 其他数据类型转换为布尔型时,数字 0、null、undefined、空字符串转换为布尔型的 false,其他所有都是转换为 true
    示例:
let myBool = ture;  
myBool.toString();     //返回"true"  
Number(true);          //返回1  
Boolean("js");         //返回true  
Boolean("");           //返回false  
Boolean(" ");        //返回true 

隐式转换

JavaScript 是一种弱类型语言,不同类型的变量在运算符的作用下会发生类型转换。这个是编译环境下直接进行的,所以叫隐式类型转换。下面是一些转换规则:

  • +运算的两个操作数是数字和字符串,数字会被转换为字符串
  • +运算的两个操作数是数字和布尔型,布尔型会被转换为数字
  • +运算的两个操作数是字符串和布尔型,布尔型会被转换为字符串
  • 减、乘、除、取余运算会把其他类型转换为数字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值