如何将小数格式化为字符串,不带组分隔符和小数点?
例如:“1,234.56”应显示为“1234”。
这个基本可行,但是会向上取整:
Decimal d = 1234.56M;
string s = string.Format("{0:0}", d);
Console.WriteLine(s);
1235
正如@Jon Skeet所建议的那样,您可以将其转换为整数类型(假设它足够大以容纳您的最大十进制值):Decimal d = 1234.56M;
string s = string.Format("{0}", (long)d);
Console.WriteLine(s);
输出:1234
long
太小(不太可能,但是谁知道呢!)就转换为 BigInteger
。 - joce我不明白为什么你不能直接使用强制转换。我认为一个整数不会显示逗号(,)。但无论如何,这应该能解决问题:
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
类型吗? - Jon Skeet