0基础学习前段历程3 JS基础知识 Number数据类型解析

时间:2020-03-19 14:10:04   收藏:0   阅读:55

number数据类型详解

1、 number数据类型

2、isNaN(验证非有效数字的常用方法)

let n = NaN;
if (n == NaN) { 这样判断是不行的
console.log(‘n不是有效数字!‘);}
console.log(isNaN(1)); //=>false
console.log(isNaN(NaN)); //=>true
console.log(isNaN(Infinity)); //=>false
console.log(isNaN(‘AA‘)); //=>true
console.log(isNaN(‘12.5‘)); //=>false
console.log(isNaN(‘12.5px‘)); //=>true
console.log(isNaN([])); //=>false
console.log(isNaN([10])); //=>false
console.log(isNaN([10, 20])); //=>true
console.log(isNaN({})); //=>true
console.log(isNaN(null)); //=>false
console.log(isNaN(undefined)); //=>true
console.log(isNaN(Symbol(1))); //=>报错,symbol不能用isNaN验证

3、把其他类型数据转换为数字类型的三种方法详解(number、parseInt、parseFloat)

1、number(方法)

语法:number([value])

1、string转化为number

把字符串转换为数字:一但字符串中出现非有效数字字符,则结果为NaN,只有都是有效数字字符,才能转换为具体的数字,空字符串会转换为0

2、boolean转化为number

把布尔转换为数字:true转换为1 false转换为0

3、null和undefined转化为number

把空转换为数字:null转换为0 undefined转换为NaN

4、symbol转化为number

不能把Symbol类型转换为数字,否则会报错

5、对象转化为number

对象转换为数字:先把对象转换为字符串,再把字符串转为数字
1、普通对象:先转化为string再转化为number,普通对象转化为字符串(包括空字符串)为[Object object],所以转化为数字的结果都是NaN
2、数组对象:先转化为string再转化为number,数组对象转化为字符串,一但字符串中出现非有效数字字符,则结果为NaN,只有都是有效数字字符,才能转换为具体的数字,空字符串(空数组)会转换为0
3、其余对象:转化结果基本都为NaN
4、函数类型:转换为数字结果都是NaN

let obj={x:100};
1.先把obj转化为字符串 "[object Object]"
2.把字符串转换为数字 Number("[object Object]")
console.log(Number(obj)); //=>NaN
 
let arr = ["10"];
1.先把ARR转换为字符串: "10"
2.在把"10"转换为数字:10
console.log(Number(arr)); //=>10
 
arr = ["10", "20"];
1.先把ARR转换为字符串: "10,20"
2.在把"10,20"转换为数字:NaN
console.log(Number(arr)); //=>NaN
2、parseInt / parseFloat(方法)

语法:parseInt([value])/parseFloat([value])

console.log(Number(‘12px‘)); //=>NaN
console.log(parseInt(‘12px‘)); //=>12
console.log(parseInt(‘12px24‘)); //=>12
console.log(parseInt(‘width:12px‘)); //=>NaN
console.log(parseInt(‘12.5px‘)); //=>12
console.log(parseFloat(‘12.5px‘)); //=>12.5 parseFloat比parseInt多识别一个小数点
 
console.log(Number(true)); //=>1
console.log(parseInt(true)); //=>先把TRUE转换为字符串"TRUE" parseInt(‘true‘) =>NaN
console.log(parseInt(NaN)); //=>NaN
console.log(Number(null)); //=>0
console.log(parseInt(null)); //=> parseInt(‘null‘) =>NaN
console.log(isNaN(Number(parseInt("0.8")))); //=>parseInt("0.8")->0 Number(0)->0 isNaN(0)->false
 
console.log(Number(‘‘)); //=>0
console.log(parseInt(‘‘)); //=>NaN
3、toFixd
toFixed:保留小数点后面N位(最后的结果是一个字符串)
let n = 3.1415926;
console.log(n.toFixed(2)); //=>"3.14"

原文:https://www.cnblogs.com/wrfzxyy/p/12523741.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!