3

グループをまったく使用しない NumberFormat を作成しようとしています。

すべての数字をコンマなしで表示したいと思います。

例:

  • 1,999 ではなく 1999
  • 2,000,000 ではなく 2000000
  • 等...

残念ながら、NumericEditor であるサードパーティ コントロールを使用しており、CultureInfo 設定を適用してコンマを表示しています。したがって、CultureInfoグループ化をまったく使用しないインスタンスを作成する必要があります。

私はこれを試しました:

int[] groupSize = {0};
CultureInfo culture = new CultureInfo("en-US");
culture.NumberFormat.NumberGroupSizes = groupSize;

また...

 CultureInfo culture = new CultureInfo("en-US");
 culture.NumberFormat.NumberGroupSeparator = String.Empty; // Throws and exception with the 3rd party control

私が得た最も近いものは...

 CultureInfo culture = new CultureInfo("en-US");
 culture.NumberFormat.NumberGroupSeparator = " ";

コンマの代わりに空白があり、間違いなく奇妙に見えるため、このソリューションはまったく好きではありません。

何か案は?

4

2 に答える 2

1

通常の古い C# コードでは NumberFormat.NumberGroupSize = new int[]{0 }; NumberFormat.NumberGroupSeperator = String.Empty; と同様に機能します。サード パーティ コントロールが CultureInfo プロパティを非標準の方法で使用しているようです。

于 2010-10-05T21:41:26.707 に答える
0

カスタム formatterの実装を検討してください。

次のように、カスタム形式のプロバイダーを割り当てることができます。

CultureInfo.CurrentCulture.NumberFormat = new MyCustomFormatter();

彼ら(サードパーティのコントロール開発者)が「魔法」を実装していない場合、それはうまくいくかもしれません。

于 2010-10-06T07:24:31.927 に答える