parseInt()解析整數與parsetFloat()解析浮點數


1.parseInt(string,radix) 解析整數

parseInt("dgei23");            // NaN          
parseInt("3 blind mice");      // 3
parseInt("-12.34");            // -12
parseInt("0xFF");              // 255
parseInt("0.1");               // 0
parseInt(".1");                // 因為整數不能以'.'開始
parseInt("$72.47");            // NaN,因為整數不能以'$'開始

指定基數radix

parseInt("08");                // 0 (在ECMAscript3中是0,因為會被認為是8八進制)
parseInt("08",10);             // 8 (這樣才是10進制)

//都是返回15

parseInt("1111", 2);
parseInt(021, 8);
parseInt("17", 8);
parseInt("015", 10);   // parseInt(015, 10); will return 13
parseInt(15.99, 10);
parseInt("15*3", 10);
parseInt("15e2", 10);
parseInt("15px", 10);
parseInt("15,123", 10);
parseInt("12", 13);
parseInt(" F", 16);
parseInt(" 0xF", 16);
parseInt("FXX123", 16);

// 更加嚴格的解析整數函數

function filterInt(value){
    //-+符號在前
    if(/^(\-|\+)?([0-9]+|Infinity)$/).test(value){
        return Number(value);
    }
    return NaN;
}
filterInt("421");                // 421 
filterInt("-421");               // -421 
filterInt("+421");               // 421 
filterInt("Infinity");           // Infinity 
filterInt("421e+0");             // NaN
filterInt("421hop");             // NaN
filterInt("hop1.618033");        // NaN
filterInt("1.618033");           // NaN

 

parseFloat(string) 解析浮點數

parseFloat("dgei2.3");           // NaN
parseFloat("3.14 meters");       // 3.14
parseFloat("0.1");               // 0.1
parseFloat(".1");                // 0.1

//都是返回3.14
parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14more non-digit characters");

// 更加嚴格的解析小數函數

function filterFloat(value){
    if(/^(\-|\+)?([0-9]+|(\.[0-9]+)?|Infinity)$/).test(value){
        return Number(value);
    }
    return NaN;
}
filterFloat("421");               // 421
filterFloat("-421");              // -421
filterFloat("+421");              // 421
filterFloat("Infinity");          // Infinity
filterFloat("1.61803398875");     // 1.61803398875
filterFloat("421e+0");            // NaN
filterFloat("421hop");            // NaN
filterFloat("hop1.61803398875");  // NaN

 


免責聲明!

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



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