2011-02-08 95 views

回答

17

有幾種方法將字符串轉換爲數字,I prefer to use一元+操作:

var number = +"08"; // 8 

這是寫作的等效:

var number = Number("08"); // 8 

不像parseInt(),當使用+或​​不需要基數,因爲內部數字轉換不會解析八進制數字。如果你想parseInt()parseFloat()方法,它也很簡單:

var number = parseInt("08", 10); // 8 

parseIntparseFloat是不太可靠的用戶輸入,因爲無效的數字文字可以通過這些功能被認爲是挽救並返回一個意想不到的結果。考慮以下幾點:

parseInt("1,000"); // -> 1, not 1000 
+"1,000";   // -> NaN, easier to detect when there's a problem 

額外的閱讀

+0

010號碼不是字符串麼? parseInt(),數字+不起作用 – 2017-01-10 13:04:19

6

使用parseInt()radix參數。這將禁用基礎的自動檢測(0領先 - >八進制,0x開頭 - >十六進制):

var number = parseInt('08', 10); 
// number is now 8 
+1

基數參數是一個我總是有時會忘記。 +1 – kjy112 2011-02-08 13:59:03

3

可以使用parseInt();以10爲底或parseFloat();解析浮點數

相關問題