Number 数字相关的方法, 强制 、隐式类型转换 、进制之间转换

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等不正确结果,需要控制输入的内容正确
//同理可以将 任何进制的数转成任何进制
原文地址:https://www.cnblogs.com/MrZhujl/p/9943327.html