2013-03-13 16 views
0

我有一行上的數據點,當光標經過它們時,工具提示div顯示有關該點的數據。下面的div的html代碼如下。向d3.js中的大數字添加逗號

div.html("The Avengers Box Office: $" + d.Avengers) 

d.Avengers作爲字符串返回207438708。那麼有沒有辦法在d3.js中爲大數添加逗號?

我的價值從幾千到幾億不等,閱讀它們可能會非常棘手。

感謝

+0

你能舉一些例子嗎? – iJade 2013-03-13 14:27:25

回答

2

感謝回覆的傢伙。我在這裏找到了答案。它不添加逗號,但它在數百萬或數千之後添加M或K.我認爲哪個更好。

https://groups.google.com/forum/?fromgroups=#!topic/d3-js/YFsSmzu4JZk

+5

要在d3中使用逗號作爲千分號,可以做幾乎相同的事情,只需在您的d3格式中添加逗號,如'myFormat = d3.format(',')'。然後將'myFormat'應用於要用逗號分隔的文本。 'myFormat(1000000)'返回1,000,000 – ckersch 2013-03-13 20:11:42

+0

完美!乾杯。 – Daft 2013-03-14 16:00:39

1

解決方案: 不能添加使用D3逗號,但你可以通過普通的JavaScript做:Number.toLocaleString()

// convert Avengers to a Number and use the toLocaleString on it 
div.html("The Avengers Box Office: $" + (1*d.Avengers).toLocaleString()) 

先進的解決方案:如果你的主要問題是,數字(即使用逗號),您需要爲您的號碼編寫一些非常酷的轉換函數,即

  1. 算上小數和
  2. 選擇一個非常好的格式顯示漂亮數字

簽出莫名其妙related answer,我添加了一些代碼來做到這一點,將大的數字,以「千」,「萬」 ,「千兆」和「terra」。你可能想要採用這一點。

+0

謝謝你們的答覆。我在這裏找到了答案 – Daft 2013-03-13 16:52:57