我在這裏有點困惑。String.Format vs ToString和使用InvariantCulture
我應該使用什麼
Console.WriteLine((val/1085).ToString("N"));
VS
Console.WriteLine(String.Format("{0:N}", (val/1085)));
而且我怎麼適應InvariantCulture的?任何最佳實踐:)?
我在這裏有點困惑。String.Format vs ToString和使用InvariantCulture
我應該使用什麼
Console.WriteLine((val/1085).ToString("N"));
VS
Console.WriteLine(String.Format("{0:N}", (val/1085)));
而且我怎麼適應InvariantCulture的?任何最佳實踐:)?
其實我更喜歡第三種形式:
Console.WriteLine("{0:N}", val/1085);
Console.WriteLine
能爲你做的String.Format
。
Console.WriteLine
不允許您提供文化。如果這是你想要的,你仍然需要使用String.Format
。如在:
String.Format(CultureInfo.InvariantCulture, "{0:N}", 123456789);
我不推薦使用這個功能,因爲國際用戶在閱讀時會遇到麻煩。對我來說123,456,789.00
看起來很奇怪。
在日期時間中可以同時使用兩者。我寧願使用並看到第一個解決方案(缺少括號的課程)。
當你有一些字符串與一些參數的差距時,String.Format更有用。那麼這是一個殺手鐗的方法,它非常有助於你組織你的代碼。
對於格式+文化,我更喜歡:
.ToString("####0.00",CultureInfo.InvariantCulture)
或
.ToString("N",CultureInfo.InvariantCulture)
你已經得到了點。 – 2010-07-29 09:29:15
我在哪裏適合InvariantCulture?和像34345435一樣的數字我怎樣才能得到輸出34,345,435 – Joe 2010-07-29 09:33:07
我只想把34345435表示爲34,345,435 – Joe 2010-07-29 09:48:20