JS数据类型之Number类型

Number类型的转换及方法

var num = 10;
    num.toString() //"10"转字符串,参数表示几进制
    num.toFixed(2) //10.00 自动舍入 参数表示小数位数
    num.toExponential(1); //"1.0e+1" 数值的字符串形式 参数表示小数位数
    num.toPrecision(3); //10.0 参数表示所有数字的位数
    num.toPrecision(1); //"1e+1" 当参数小于数字的位数时,返回数值的字符串形式
    Number(""); //0
    Number("000011"); //11
    Number(true); //1
    parseInt("1234.555blue"); //1234 --丢弃小数部分
    parseInt("blue1234"); //NaN
    parseFloat("1234.55.5blue"); //1234.55
    parseFloat("blue1234"); //NaN
    parseInt("1234.555"); //1234 --丢弃小数部分
    Math.ceil("1234.555"); //1235 --向上取整,有小数就整数部分加1
    Math.round("1234.555"); //1235 --四舍五入
    Math.floor("1234.555"); //1234 --向下取整,丢弃小数部分
    Math.max(3, 54, 32, 16);//54 取最大值
    Math.min(3, 54, 32, 16);//3 取最小值

计算与比较 

  1. 数字的计算与比较
    //纯数字的计算和比较依据数学运算
    1+1 //2
    1>2 // false
    //注意
    NaN == NaN // false
    false == 0 // true
    true == 1 // true 
    //这意味着
    true - 1 //0
  2. 数字与字符串的计算
    '1' + 1 //11 加法直接字符串连接
    '1' - 1 //0 减法乘法除法都把字符串转成数字然后计算
    '1' * 2 //2 减法乘法除法都把字符串转成数字然后计算
    '1' / 2 //0.5 减法乘法除法都把字符串转成数字然后计算
  3. 数字与字符串的比较
    1 >'2' // false 先将数字字符串转为纯数字,然后为纯数字间的比较
  4. 字符串与字符串的比较
    依次取每个字符,字符转为ASCII码进行比较
    '5' > '123' // true
    '2347' > '237' //false 前两位相同,比较第3位

计算精度丢失问题

0.1 + 0.2 === 0.30000000000000004 //true 双精度 64 位浮点数精度丢失
1000000000000000128 === 1000000000000000129 //true

精度丢失参考地址:http://www.cnblogs.com/zichi/p/5034201.html

原文地址:https://www.cnblogs.com/zhujunislucky/p/10251217.html