7

インフラジスティックス Web グリッドを使用しており、通貨文字列をフォーマットする必要があります。これには、「$ ### ###,00」などのパターンを含む文字列が必要で、これを現在の CultureInfo から取得したいと考えています。これどうやってするの?次の情報から手動で作成する必要がありますか?

CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSeparator
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSizes
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalDigits
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalSeparator

などなど

1行のソリューションですか?

4

5 に答える 5

11
decimal moneyvalue = 1921.39m;
string s = String.Format("{0:C}", moneyvalue);

現在のカルチャが使用されます。

web.config に次のものが含まれていることを確認してください。

<system.web>
   <globalization culture="auto" uiCulture="auto"/>
</system.web>

またはckが示唆するように、ページで同等のものを宣言します

于 2009-04-17T07:50:21.953 に答える
1

すべての回答に感謝します。私の要件が間違っていたことが判明しました。インフラジスティックス グリッドは、パターン文字列がどの区切り記号を使用するかを知ることを望まず、小数などにパターン文字列を使用し、残りについて現在のカルチャをクエリします。したがって、それは問題ではありません。とにかくありがとう!

于 2009-04-28T11:52:43.637 に答える
0

グレッグディーンの答えに追加すると、必要になる場合があります

Culture="auto" UICulture="auto"

ページの @Page 宣言で。

于 2009-04-17T07:52:47.110 に答える
0

まず、カルチャに固有の場合は、書式文字列として "C" を使用しないでください。そのため、カルチャの通貨形式を使用してください。

カスタム数値書式文字列には通貨トークンがありません。ただし、 「### ###,00」で書式設定して取得した文字列に通貨記号を追加するだけでよいのではないかと思います。

于 2009-04-17T07:52:47.283 に答える