2009-06-15 7 views
2

私のリストの1つでSPFieldCurrencyカラムを使用しています。SPFieldCurrencyフィールドの数値を取得

私のカスタムコードは、GetFormattedValue()メソッドによって返されるフィールドの値を含むパラメータとして文字列値を受け取ります。そのため、私のコード内の通貨記号の存在など

今私の問題は、私の方法で受信された値は、それらの通貨記号が含まれていることを10 $、10¥例:ある、10€

、ときこれらの値に対してDouble.TryParse()を実行すると失敗します。

通貨のカルチャ情報を知らなくても、SPFieldCurrencyオブジェクトの表示文字列値から数値を抽出するにはどうすればよいですか?

+0

Sharepointとしてタグ –

答えて

2

問題は、NumberStyles.Anyを使用することです。これにより、すべての通貨記号が削除されます。

私はそれは私のために働い Double.TryParse(タイムアウト値で、valueString、NumberStyles.Any、CultureInfo.CurrentCulture.NumberFormat、)

を使用。ありがとう

+0

これはSharePointとはまったく関係ありません。 –

0

"NumberFormatInfoインスタンスを作成し、文字列の特定の側面を処理するプロパティを設定すると、CurrencySymbolプロパティを" $ "に、NumberDecimalDigitsプロパティを2に、等。"

あなたは私が推測する持っている唯一の問題は、フィールド内の通貨、複数の種類があるということです

source

...

+0

はい、どの通貨が入ってくる文字列で使用されているのか分かりません。 – ashwnacharya

0

さて、あなたは、単純な、このように直接値を解析する場合:

double myvalue; 
bool success = double.TryParse(properties.ListItem["MyFieldName"].ToString(), out myvalue); 

通貨記号のない値が表示されます。

しかし、あなたの質問は多少あいまいですが、SharePointアイテムから値を二重として取得するのが問題なのですか、コード内の書式設定された文字列をどのように処理できるかは問題ですか?

+0

こんにちは、私の関数は、通貨記号を含む文字列として、sharepoint項目の値をパラメータとして受け取ります。 – ashwnacharya

関連する問題