2009-04-17 14 views
7

私はinfragistics webgridを使用しており、通貨文字列を書式設定する必要があります。このためには、 "$ ### ###、00"のようなパターンを含む文字列が必要です。これは現在のCultureInfoから出てきます。これどうやってするの? は私が見るから手動で構成する必要があります:asp.netの通貨書式文字列

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

など など など

1行のソリューションですか?現在のカルチャが使用されます

答えて

1

すべてのご回答ありがとうございます。 私の要件は間違っていました。 Infragisticsグリッドでは、パターン文字列にどのセパレータが使用されているかを知りたくない場合は、パターン文字列を小数点などに使用して残りの部分について現在のカルチャを照会します。 これは問題ではありません。とにかくありがとう! !

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

あなたのweb.configファイルに次ていることを確認してください:

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

またはckが示唆するように、グレッグ・ディーンの答えに追加あなたのページ

+0

私は自分自身で実際の変換をしたくない、ちょうどパターン文字列を取得する。 このように: 文字列myPattern = CreateCurrencyPattern(myCurrentCulture); とし、myPatternには通貨記号の有無にかかわらず "$ ###、###、###。00"が含まれます。 –

+0

この回答は、要求された結果を提供しません。 –

0

で、同等のものを宣言し、あなたが持っている必要があるかもしれません

Culture="auto" UICulture="auto" 

あなたのページの@Page宣言で。

0

まず、カルチャー固有の場合は、フォーマット文字列に "C"を使用するだけでなく、カルチャの通貨フォーマットを使用するのはなぜですか?

Custom numeric format strings通貨トークンがありません。しかし、 "### ###、00"で書式設定した文字列にcurrency symbolを追加するだけでよいと私は思っています。

0

我々のprojにはほとんど同じ要求がありました。 私たちが行ったことは、infragisticsのwebcurrencyeditコントロールを使用し、それを通貨が表示されなければならない列のeditorcontrolidとして設定し、webcurrencyeditコントロールのカルチャを設定することでした。