数据类型转换-转数值

151 阅读1分钟

1、Number()

特点:把要转换的内容看成一个整体。如果可以转换成功,那么是转换后的数值;如果失败,那么是NaN。

const a = '100'
console.log(Number(a)) // 100

const b = '100abc'
console.log(Number(b)) // NaN

const c = true
console.log(Number(c)) // 1

const d = '100.1'
console.log(Number(d)) // 100.1

2、parseInt()

特点:把要转换的内容一位一位的看。如果第一位就转换失败,那么是NaN;如果非第一位转换失败,那么截止到可以转换成功的数值。且如果是浮点类型的数据,那么会转换为整型,因为不识别小数点。

const a = '100'
console.log(parseInt(a)) // 100

const b = '100abc'
console.log(parseInt(b)) // 100

const c = true
console.log(parseInt(c)) // NaN

const d = '100.1'
console.log(parseInt(d)) // 100

3、parseFloat()

特点:同parseInt(),但是可以识别小数点。

const a = '100'
console.log(parseFloat(a)) // 100

const b = '100abc'
console.log(parseFloat(b)) // 100

const c = true
console.log(parseFloat(c)) // NaN

const d = '100.1'
console.log(parseFloat(d)) // 100.1

4、正负值

特点:同Number()

const a = '100'
console.log(+a) // 100
console.log(-a) // -100

const b = '100abc'
console.log(+b) // NaN

const c = true
console.log(+c) // 1

const d = '100.1'
console.log(+d) // 100.1

5、非加法 的数学运算

特点:同Number()

const a = '100'
console.log(a - 0) // 100
console.log(a * 1) // 100
console.log(a / 1) // 100

const b = '100abc'
console.log(b - 0) // NaN

const c = true
console.log(c * 1) // 1

const d = '100.1'
console.log(d / 1) // 100.1

总结:可以分为两类;第一类:Number()、正负值、非加法的数学运算,这三个都是把要转换的内容看作一个整体;第二类:parseInt()parseFloat(),这两个都是一位一位的看,直到转换失败的那一位,返回转换成功的数值,如果不幸第一位就转换失败,那么直接是NaN