5

如何格式化小数以将其转换为没有组分隔符且没有小数的字符串?

例如:“1,234.56”应显示为“1234”。

4

2 回答 2

9

这几乎可以工作,但总结了:

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

演示:http: //ideone.com/U4dcZD

于 2013-03-07T04:09:14.170 回答
1

我不明白为什么你不能只使用演员表。我认为 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);
于 2013-03-07T04:26:22.577 回答