数据类型的转换
使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。
我们通常会实现3种方式的转换:
-
转换为字符串类型
-
转换为数字型
-
转换为布尔型
转换为字符串
转换方式 | 说明 | 案例 |
---|---|---|
toString() | 转成字符串 | let num = 1; alert(num.toString()); |
String()强制转换 | 转成字符串 | let num = 1; alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | let num = 1; alert(num + ''); |
示例:
let num1 = 1;
alert(num1.toString()); //转换为string
let num2 = 1;
alert(String(num2)); //转换为string
let num3 = 1;
alert(num3 + ''); //转换为string
转换为数字型(重点)
转换方式 | 说明 | 案例 |
---|---|---|
parselnt(string)函数 | 将string类型转成整数数值型 | parselnt('21') |
parseFloat(string)函数 | 将string类型转成浮点数值型 | parseFloat('21.21') |
Number()强制转换函数 | 将string类型转成数值型 | Number('21') |
js 隐式转换( - * / ) | 利用算术运算隐式转换为数值型 | console.log('12' - 10); // 结果 2 |
toFixed(num) | 把 Number 四舍五入为指定小数位数的数字。 | let temp=3.1415926 temp.toFixed(2)//输出3.14 |
-
注意 parseInt 和 parseFloat 单词的大小写,这2个是重点
-
隐式转换是我们在进行算数运算的时候,JS自动转换了数据类型
示例:
let num1 = prompt('请输入第1个数', '1')
let num2 = prompt('请输入第2个数', '1.5')
let num3 = parseInt(num1) //转换为整数
let num4 = parseFloat(num2) //转换为浮点数
let temp=3.1415926
let res = num3 + num4
alert(res) // 2.5
alert('10' - res) // 7.5 隐式转换
console.log(temp.toFixed(2)) // 3.14
转换为布尔型
转换方式 | 说明 | 案例 |
---|---|---|
Boolean()函数 | 其他类型转成布尔值 | Boolean('true'); |
-
代表空、否定的值会被转换为 false ,如 ''、0、NaN、null、undefined
-
其余值都会被转换为 true
示例:
console.log(Boolean('')) //false
console.log(Boolean(null)) //false
console.log(Boolean(undefined)) //false
console.log(Boolean(NaN)) //false
console.log(Boolean(0)) //false
console.log(Boolean(5)) //true 除了以上五个数据外,转换Boolean后都是true