2010-04-13 102 views

回答

23

附加參數僅適用於Number.prototype.toString指定基數(2和36之間的整數指定基地使用用於表示數字值):

var number = 12345; 
number.toString(2) === "11000000111001" 
number.toString(3) === "121221020" 
// … 
number.toString(36) === "9ix" 
+1

MDN給出了一個關於這個主題的很好的解釋:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toString – luissquall 2012-08-15 03:07:50

2

它不是定義爲全球適用的參數toString ,它只對Number有意義,它指定了寫入的基礎。您可以使用例如。 n.toString(16)轉換爲十六進制。

其他內置對象不使用任何參數,JavaScript將默默忽略未使用的參數,因此將16傳遞給任何其他toString方法都沒有區別。你當然可以制定你自己的toString方法,其中可選參數可以表示你喜歡的任何東西。

9

這僅適用於數量的對象,目的是給你一定的基數顯示號碼的方法:

var n = 256; 
var d = n.toString(10); // decimal: "256" 
var o = n.toString(8); // octal: "400" 
var d = n.toString(16); // hex:  "100" 
var b = n.toString(2); // binary: "100000000" 
var w = n.toString(20); // base 20: "cg" 

注意,基數必須在2到36或toString()之間的整數,將提高一個錯誤。

+0

對此的最新評論,它是缺乏進行編輯。但'var b = n.toString(16); //二進制:「100000000」'實際上應該是'n.toString(2)',因爲二進制是基於2,我假設它只是一個複製粘貼的東西! – Rchristiani 2012-11-08 18:08:41

+0

@Rrisristiani絕對。編輯本來是完美的,但現在我自己改變了它。感謝提示! – Tomalak 2012-11-08 20:41:32

相關問題