如何在没有分隔符和小数的情况下格式化小数

本文关键字:小数 情况下 格式化 分隔符 | 更新日期: 2023-09-27 18:02:45

如何将十进制格式转换为没有组分隔符和没有小数的字符串?

例如:"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

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

我不明白为什么不能直接使用强制类型转换。我认为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);