2、JavaScript的Number类型

number类型

包含正数、负数、0、NaN、Infinity。注意NaN与任何东西都不相等,包括它自己。

其他类型转化为number

使用构造函数的方法转换

  • 字符串转数字:只有都是有效数字才能成功转换,否则结果为NaN;空字符串==0

  • 布尔转数字:true==1,false==0

  • 空转数字:null==0,undefined=>NaN

  • Symbol转数字:报错

  • 普通对象转数字:过程是先 对象.toString(),再转为数字。结果为NaN

  • 数组对象转数字:先toString(),如果只有一个元素且元素为空、null、数字、undefined,才能转化为数字,其他为NaN。

    因为

    [1,2,3,4,5].toString() = '1,2,3,4,5'//先toString()
    +'1,2,3,4,5' = NaN //再转数字 ```
    
  • 函数转对象:过程是先 函数.toString(),再转为数字。结果为NaN

image-20200929152148625.png

使用parseInt([value])转换

parseInt(a):把字符串类型转换为数字类型。在字符串最左边开始找,把找到的有效数字转化为数字,直到遇到非有效数字符号为止。

parseInt('123.12wqewzf');//123
parseInt('qq123wwzf');//NaN
parseInt([1.3, 2.3, 3]);//1
parseInt({1:1});//NaN

parseInt(a,b):把a看成是b的进制数。b取值[2,36],其他会输出NaN

parseInt(1011,2)//11=1011的二进制
parseInt(1011,10)//1011=1011的十进制
parseInt(101,2)==parseInt(1012,2)//true,读到超出进制的数就停止转换并输出,(2超出二进制)

parseFloat:比parseInt多识别一个小数点

parseFloat('123.12wqewzf');//123.12
parseFloat([1.3, 2.3, 3]);//1.3

toFixed()

123.123456789.toFixed(3);//123.123

保留n位小数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。