Number
注意:浮点数的运算,在计算机中是不够精确的
相关方法:
1.parseFloat(str, base)
str 是字符串,base 基数,告诉函数需要按哪种进制进行输出,默认十进制
把字符串转成 小数 或 整数
2.parseInt()
参数是 字符串
把字符串转成 整数
3.toFixed()
参数是 数字 代表要保留的小数位数,会4舍5入
4.toLocaleString()
方法可把一个 Number 对象转换为本地格式的字符串。
返回值:数字的字符串表示,由实现决定,根据本地规范进行格式化,可能影响到小数点或千分位分隔符采用的标点符号。
问题:1.浏览器兼容问题,2.由于国际化标准的不同,不同环境输出的结果可能不一样。
const a = 1234567891000; const b = 673439.4542; console.log(a.toLocaleString()); // "1,234,567,891,000" console.log(b.toLocaleString()); // "673,439.454" (小数部分四舍五入了)
5.Number("123") // 123
123.toString() // "123"
实例应用:
强制类型转换
/*这两种方法转 空字符串,或者字母开头加数字(比如str="px12334") 输出结果都是 NaN */ let str = "100.456px"; console.log(parseFloat(str));//"100.456" console.log(parseInt(str));//"100" console.log(parseFloat(str).toFixed(2));//"100.46"
隐式类型转换
/*隐式类型转换*/ let str1 = "119857"; console.log( str1*1);// 119857 隐式类型转换 字符串变数字
console.log(+str);// 119857 console.log(str1 * 1 + "");//'119857' 隐式类型转换 数字变字符串 let obj = {a:0}; console.log(obj * 1);//NaN console.log(obj + "");//[object Object]
进制转换
parseInt(11, 2).toString(10)//将二进制的11转成十进制,输出是3 //错误的二进制数,会输出NaN、1等不正确结果,需要控制输入的内容正确 //同理可以将 任何进制的数转成任何进制