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/ |