web-dev-qa-db-ja.com

最も近いドルに丸められた通貨をダブルにフォーマットするにはどうすればよいですか?

今私は持っています

double numba = 5212.6312
String.Format("{0:C}", Convert.ToInt32(numba) )

これは私に与えます

$5,213.00

しかし、「。00」は必要ありません。

毎回、文字列の最後の3文字をドロップするだけで効果を得ることができますが、もっと簡単な方法があるはずです。

59
spilliton

最初に-doubleに通貨を保持しないでください-代わりにdecimalを使用してください。毎回。次に、フォーマット指定子として「C0」を使用します。

decimal numba = 5212.6312M;
string s = numba.ToString("C0");
92
Marc Gravell

これは仕事をするはずです:

String.Format("{0:C0}", Convert.ToInt32(numba))

Cの後の数字は、含める小数点以下の桁数を指定します。

ただし、そのような数値を格納するために decimal タイプを本当に使用したいと思うでしょう。

24
Noldorin
Console.WriteLine(numba.ToString("C0"));
5
RedFilter

あなたの目標を達成する正しい方法はこれだと思います:

Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalDigits = 0;

そして、そのときだけ、Format呼び出しを行う必要があります。

String.Format("{0:C0}", numba) 
3
Pejvan
 decimal value = 0.00M;
        value = Convert.ToDecimal(12345.12345);
        Console.WriteLine(".ToString(\"C\") Formates With Currency $ Sign");
        Console.WriteLine(value.ToString("C"));
        //OutPut : $12345.12
        Console.WriteLine(value.ToString("C1"));
        //OutPut : $12345.1
        Console.WriteLine(value.ToString("C2"));
        //OutPut : $12345.12
        Console.WriteLine(value.ToString("C3"));
        //OutPut : $12345.123
        Console.WriteLine(value.ToString("C4"));
        //OutPut : $12345.1235
        Console.WriteLine(value.ToString("C5"));
        //OutPut : $12345.12345
        Console.WriteLine(value.ToString("C6"));
        //OutPut : $12345.123450

クリックしてコンソール出力画面を表示

これがあなたを助けるかもしれないことを願っています...

ありがとう。 :)

2
Bhanu Pratap
0
Rodrigo Reis