ES6常用的數值轉換方法


<script type="text/javascript">
    // Number常用方法
    /*
        Number.isFinite() 用來檢查一個數值是否為有限的(finite)
                          對於非數字,不會做隱式類型轉換,直接返回false
        Number.isNaN() 用來檢查一個值是否為NaN
    */
    console.log( Number.isFinite(1));   // true
    console.log( Number.isFinite(0.1)); // true
    // NaN 不是有限的
    console.log( Number.isFinite(NaN)); // false
    console.log( Number.isFinite(Infinity));  // false
    console.log( Number.isFinite(-Infinity)); // false
    // Number.isFinate 沒有隱式的 Number() 類型轉換,所有非數值都返回 false
    console.log( Number.isFinite('foo')); // false
    console.log( Number.isFinite('15'));  // false
    console.log( Number.isFinite(true));  // false



    // 用於檢查一個值是否為 NaN 。
    console.log(Number.isNaN(NaN));      // true
    console.log(Number.isNaN(true)); // false


    /*
        Number.parseInt() 方法可解析一個字符串,並返回一個整數
        Number.parseFloat() 方法可解析一個字符串,並返回一個浮點數
     */

    console.log(Number.parseInt('12.51')); // 12
    console.log(Number.parseInt(12.34));   // 12
    console.log(Number.parseFloat('123.45')) // 123.45
    console.log(Number.parseFloat('123.45abc')) // 123.45

    /*
       Math.sign 判斷數字的符號(正、負、0)。
     */
    console.log(Math.sign(2))  //  1
    console.log(Math.sign(-2))  // -1

    // 參數為 0 時,不同符號的返回不同
    console.log(Math.sign(0))  // 0
    console.log(Math.sign(-0))  // -0

    // 判斷前會對非數值進行轉換
    console.log(Math.sign('1'))  // 1
    console.log(Math.sign('-1')) // -1

    // 參數為非數值(無法轉換為數值)時返回 NaN
    console.log(Math.sign(NaN))  // NaN
    console.log(Math.sign('hhh'))  // NaN


    /*
        Math.cbrt 用於計算一個數的立方根。
     */
    console.log(Math.cbrt(27))  // 3



    /*
        Math.trunc 用於返回數字的整數部分。
     */

    console.log(Math.trunc(12.3)); // 12
    console.log(Math.trunc(12));   // 12



    // 整數部分為 0 時也會判斷符號
    console.log(Math.trunc(-0.5)); // -0
    console.log(Math.trunc(0.5));  // 0



    // Math.trunc 會將非數值轉為數值再進行處理
    console.log(Math.trunc("12.3")); // 12



    // 空值或無法轉化為數值時時返回 NaN
    console.log(Math.trunc());           // NaN
    console.log(Math.trunc(NaN));        // NaN
    console.log(Math.trunc("hhh"));      // NaN
    console.log(Math.trunc("123.2hhh")); // NaN
</script>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM