2013-07-02 20 views
6

我看了很多關於數字格式字符串的文章,例如:http://msdn.microsoft.com/en-us/library/0c899ak8.aspx如何獲得最佳數字格式字符串?

我真的不懂如何編寫最好的格式字符串。爲了得到例外的結果,我可以寫一些方法。例如:打印號碼1234567890作爲文本「1,234,567,890」。這些方法給出了相同的結果:

1234567890.ToString("#,#") 
1234567890.ToString("#,##") 

「#,##」是互聯網上流行的一種,但爲什麼?請給我一些信息如何編寫一個好的格式字符串。謝謝。

+0

格式化字符串取決於它需要格式化的原因。你想格式化爲貨幣?如果你想格式化貨幣,你可以使用'1234567890.ToString(「C2」)或'1234567890.ToString(「c」)' – Prix

+0

當想把1234567890格式化爲字符串「1,234,567,890」時,很多用戶會想到使用「#,##」,但爲什麼我們不使用「#,#」。這是我的問題。 –

+0

我明白了,基本上,#和## *之間有什麼區別。有趣的是,我也想知道。 – Nolonar

回答

1

據我所看到的,有"#,#""#,##"之間沒有什麼區別:兩者都表示「格式化用組分隔符,並沒有一個數小數部分'。有關血淋淋的細節,請參閱SSCLI source for general number formatting

+0

我注意到「#,#」「#,##」「#,###」...給出了相同的結果。但爲什麼「#,##」比其他人更受歡迎。在所有方面,哪種方式可以快速渲染? –

+0

是的,它們都是一樣的。運行時間不會有明顯的差異(請參閱源代碼),但是'#,#'是解析格式字符串時少一個字符 - 如果您在購買房屋時傾向於購買便士。 –

+0

爲什麼'#,##'更受歡迎 - 純粹意外加上覆制粘貼編碼。 –

0

在你的情況下沒關係,因爲你使用的是int。這種格式#,###,#是爲小數點後只打印兩位雙打和手段

+2

Erm,no。逗號是組分隔符,而不是小數點。 – Nolonar

+0

你可以舉一個例子來找到我給出的2個格式字符串的區別。謝謝。 –

+0

你是對的,它取決於區域設置。如果組分隔符,那麼#,#和#,##是相同的東西。如果是小數點分隔符,它會使小數位數有所不同 –

相關問題