我想使用c#將逗號添加到每三位數字的十進制數字。
我寫了這個代碼:使用C#將逗號添加到每三位數字的數字
double a = 0;
a = 1.5;
Interaction.MsgBox(string.Format("{0:#,###0}", a));
但它返回2.
我在哪裏錯了?
請描述我該如何修復它?
我想使用c#將逗號添加到每三位數字的十進制數字。
我寫了這個代碼:使用C#將逗號添加到每三位數字的數字
double a = 0;
a = 1.5;
Interaction.MsgBox(string.Format("{0:#,###0}", a));
但它返回2.
我在哪裏錯了?
請描述我該如何修復它?
double a = 1.5;
Interaction.MsgBox(string.Format("{0:#,###0.#}", a));
這是對的謝謝你,請你介紹一下string.Format的第一個參數? – Shahin 2011-05-28 11:12:32
在你的格式字符串中,你沒有尋址數字的小數部分,所以它將它舍入爲2.所以。#在格式字符串地址中,如果總是希望顯示小數部分,即使是2.0然後在格式字符串中使用.0。 – 2011-05-28 11:19:13
我有一個問題:答案中的格式與'#,0。#'不同嗎? – 2011-05-28 20:21:08
這裏是如何做到這一點:
string.Format("{0:0,0.0}", a)
它這樣做是正確的。 #,## 0表示用逗號至少寫入一位數字和零小數以及空格數字組。因此,它不能寫小數,因此它會舍入1.5到2。試試#,## 0.00代替。你會得到1.50
嘗試以下格式:
string.Format("{0:#,0.0}", a)
你這個嘗試: -
string.Format("{0:0,000.0}", 1.5);
有一個standard format string將分開萬臺:N
float value = 1234.512;
value.ToString("N"); // 1,234.512
String.Format("N2", value); // 1,234.51
Dupe of http://stackoverflow.com/questions/105770/net-string-format-to-add-commas-in-thousan ds-place-for-number – 2011-05-28 11:12:53
@raj:這裏的答案是不同的。 – GregC 2011-05-28 11:18:00
@GregC雖然,不一定比那些被接受的更好的(http://stackoverflow.com/a/105793/1028230)。 ; ^) – ruffin 2014-12-31 20:23:51