我想使用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