MozTW 討論區
https://forum.moztw.org/

請教,JavaScript 要將文字變數轉換為數字來做運算
https://forum.moztw.org/viewtopic.php?f=13&t=18791
1 頁 (共 1 頁)

發表人:  gi0001tw [ 2007-04-30, 22:13 ]
文章主題 :  請教,JavaScript 要將文字變數轉換為數字來做運算

要將文字變數
var a = "3";
轉換為數字來做運算
這樣轉有時可以,有時又不行:
var b = 0 + a;
這樣轉的話就都可以:
var c = 1 * a;

發表人:  kourge [ 2007-05-02, 14:05 ]
文章主題 : 

gi0001tw 寫:
要將文字變數
var a = "3";
轉換為數字來做運算
這樣轉有時可以,有時又不行:
var b = 0 + a;
這樣轉的話就都可以:
var c = 1 * a;

可以用 parseInt()。
例如:parseInt("3") == 3
建議這樣寫:parseInt("3", 10)
後面的 10 指的是十進位,因為有時候會被誤判為八進位。

發表人:  訪客 [ 2007-05-03, 00:27 ]
文章主題 : 

kourge 寫:
gi0001tw 寫:
要將文字變數
var a = "3";
轉換為數字來做運算
這樣轉有時可以,有時又不行:
var b = 0 + a;
這樣轉的話就都可以:
var c = 1 * a;

可以用 parseInt()。
例如:parseInt("3") == 3
建議這樣寫:parseInt("3", 10)
後面的 10 指的是十進位,因為有時候會被誤判為八進位。


1.在運算"數字 + 字串" 前, javascript 直譯器會先將「數字型態」的資料轉為「字串型態」,再做字串合併的動作。

2.「字串型態」的資料沒有"相乘"的運算元,因此 javascript 直譯器 會先將「字串型態」的「文數字」資料轉為「數字型態」,再做數字相乘。

3. 若parseInt() 傳入的「文數字」參數有前導"0",會被當作八進位。

4.不同型態的資料作運算,可能因編譯器或直譯器不同,產生不同的結果,因此最好的方式是自行處理資料型態的轉換。

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/