数字

作者: 岚平果 | 来源:发表于2021-02-25 08:50 被阅读0次

    1. 数字方法

    1.toString()  数字转字符串
      var x = 123;
      x.toString()
    
    2. oExponential() 
        返回字符串值,它包含已被四舍五入并使用指数计数法的数字。参数定义小数点后的字符数.
        var x = 9.656;
        x.toExponential(2);     // 返回 9.66e+0
        x.toExponential(4);     // 返回 9.6560e+0
        x.toExponential(6);     // 返回 9.656000e+0
    
    3. toFixed()
      toFixed() 返回字符串值,它包含了指定位数小数的数字:
        var x = 9.656;
        x.toFixed(0);           // 返回 10
        x.toFixed(2);           // 返回 9.66
        x.toFixed(4);           // 返回 9.6560
        x.toFixed(6);           // 返回 9.656000
    
    4.toPrecision()
        返回字符串值,它包含了指定长度的数字
        var x = 9.656;
        x.toPrecision();        // 返回 9.656
        x.toPrecision(2);       // 返回 9.7
        x.toPrecision(4);       // 返回 9.656
        x.toPrecision(6);       // 返回 9.65600
    
    5.valueOf()
      valueOf() 以数值返回数值:
       var x = 123;
       x.valueOf();            // 从变量 x 返回 123
    
    

    2. 把变量转换为数值

    Number() 方法
    
    parseInt() 将字符串格式化为整数。
    
    parseFloat() 方法, 并返回带有其十进制值的数字。
    
    这些方法并非数字方法,而是全局 JavaScript 方法。
    
    MAX_VALUE 返回 JavaScript 中可能的最大数。
    
    MIN_VALUE 返回 JavaScript 中可能的最小数。
    
    NEGATIVE_INFINITY 表示负的无穷大(溢出返回)。
    
    NaN 表示非数字值(“Not-a-Number”)。
    
    POSITIVE_INFINITY 表示无穷大(溢出返回)
    
    
    1. 为什么 js 中 0.1+0.2 不等于 0.3,怎样处理使之相等?
    console.log(0.1+0.2===0.3)   // true or false??
    在正常的数学逻辑思维中,0.1+0.2 = 0.3 这个逻辑是正确的,但是在 JavaScript 中0.1+0.2!== 0.3,
    这是为什么呢?这个问题也会偶尔被用来当做面试题来考查面试者对 JavaScript 的数值的理解程度。
    
      在 JavaScript 中的二进制的浮点数 0.1 和 0.2 并不是十分精确,在他们相加的结果并非正好等于 0.3,
    而是一个比较接近的数字 0.30000000000000004 ,所以条件判断结果为 false。
    
    那么应该怎样来解决 0.1+0.2 等于 0.3 呢? 最好的方法是设置一个误差范围值,通常称为”机器精度“,
    而对于 Javascript 来说,这个值通常是 2^-52,而在 ES6 中,已经为我们提供了这样一个
    属性:Number.EPSILON,而这个值正等于 2^-52。
    这个值非常非常小,在底层计算机已经帮我们运算好,并且无限接近 0,但不等于 
     0,。这个时候我们只要判断
    (0.1+0.2) - 0.3 小于 Number.EPSILON,在这个误差的范围内就可以判定0.1+0.2 === 0.3 为 true。
    
    function numbersequal(a,b){ return Math.abs(a-b)<Number.EPSILON;
    } 
    var a=0.1+0.2, b=0.3;
    console.log(numbersequal(a,b)); //true
    

    相关文章

      网友评论

          本文标题:数字

          本文链接:https://www.haomeiwen.com/subject/fuwsfltx.html