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 //2 1>2 // false //注意 NaN == NaN // false false == 0 // true true == 1 // true //这意味着 true - 1 //0
- 数字与字符串的计算
'1' + 1 //11 加法直接字符串连接 '1' - 1 //0 减法乘法除法都把字符串转成数字然后计算 '1' * 2 //2 减法乘法除法都把字符串转成数字然后计算 '1' / 2 //0.5 减法乘法除法都把字符串转成数字然后计算
- 数字与字符串的比较
1 >'2' // false 先将数字字符串转为纯数字,然后为纯数字间的比较
- 字符串与字符串的比较
依次取每个字符,字符转为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