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が提案したように、整数型にキャストできます(最大の10進値を保持するのに十分な大きさであると想定)。

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 に答える