Dot-Net
用逗號格式化數字,但保留小數
我想將數字組合成千位,但也輸出小數位數實際上是數字。我無法弄清楚格式字元串。
1000 => 1,000 100000 => 100,000 123.456 => 123.456 100000.21 => 100,000.21 100200.123456 => 100,200.123456免責聲明(它並不像您想像的那麼簡單):
這似乎完全符合您的要求:
public void Code(params string[] args) { Print(1000); Print(100000); Print(123.456); Print(100000.21 ); Print(100200.123456); } void Print(double n) { Console.WriteLine("{0:###,###.#######}", n); } 1,000 100,000 123.456 100,000.21 100,200.123456
一個舊執行緒,但沒有一個答案讓我完全滿意。他們中的大多數將零變成空字元串,包括投票最多的字元串。
我認為更好的解決方案是
"#,##0.#################",它至少顯示零。不過還是很醜。一定會有更好的辦法。double[] vals = new double[] { 0.0, 0.1234, -0.1234, 1.0, 123456789.123456, 123456789.0, 0.123456789123456 }; foreach (double val in vals) { Console.WriteLine(val + ": " + val.ToString("#,##0.#################")); }