アメリカとヨーロッパのスタイルで (double 型の) 数値をフォーマットできるようにしたいと考えています。ユーザーの選択に応じて、数値 123123123.456 は次のいずれかの形式にする必要があります。
- 123,123,123.456 // アメリカ形式
- 123.123.123,456 // ヨーロッパ形式
もう 1 つの要件は、小数点以下の桁数を設定できることです。私は使用double.ToString(string format, IFormatProvider provider)
して置くことができると信じ"F2"
ていますが、msdn は、自分で実装できることを説明することformat
についてあまり語っていないようです。IFormatProvider
double x = 123123123.456
IFormatProvider myFormatProvider = whatToDo ?
x.ToString("F2", myFormatProvider); // I need 2 decimal digits hence F2
その目的で使用できる事前に作成された数の IFormatProvider オブジェクトはありますか? それとも、他の解決策があり、私は間違った方向に進んでいますか?