C# 如何格式化没有分隔符和小数的十进制数?
如何将十进制格式转换为不带组分隔符和小数的字符串C# 如何格式化没有分隔符和小数的十进制数?,c#,C#,如何将十进制格式转换为不带组分隔符和小数的字符串 例如:“1234.56”应显示为“1234”。这几乎可以工作,但四舍五入: Decimal d = 1234.56M; string s = string.Format("{0:0}", d); Console.WriteLine(s); 输出:1235 正如@Jon Skeet所建议的,您可以强制转换为整数类型(假设它足够大,可以容纳您的最大十进制值): 输出:1234 演示:我不明白你为什么不能只用演员阵容。我认为Int不会显示逗号(,)。
例如:“1234.56”应显示为“1234”。这几乎可以工作,但四舍五入:
Decimal d = 1234.56M;
string s = string.Format("{0:0}", d);
Console.WriteLine(s);
输出:1235
正如@Jon Skeet所建议的,您可以强制转换为整数类型(假设它足够大,可以容纳您的最大十进制值):
输出:1234
演示:我不明白你为什么不能只用演员阵容。我认为Int不会显示逗号(,)。但无论如何,这应该能起到作用:
float n = 1234.78f;
int i = (int)n;
String str = i.ToString();
while (str.IndexOf(",",0) >= 0 )
str = str.Remove(str.IndexOf(",", 0), 1);
你能先转换成
int
吗?(让它显示为1235,即四舍五入,相当容易。只截断格式字符串不是)或者如果long
太小(值得怀疑,但嘿!你永远不知道!)
float n = 1234.78f;
int i = (int)n;
String str = i.ToString();
while (str.IndexOf(",",0) >= 0 )
str = str.Remove(str.IndexOf(",", 0), 1);