2011-06-28 9 views
0

"-10,00"をスウェーデンの文化を使って通貨に変換しようとしています。ここに私のコードです:スウェーデン語の文字列を正しく変換できない通貨に変換する

ByVal ci As System.Globalization.CultureInfo("sv-SE") 
Convert.ToDecimal("-10,00").ToString("C", ci) 

上記のコードからの出力は:-1.000,00 krですが間違っています。それは-10,00 krでなければなりません。私のアプローチに何か問題はありますか?

対処:

溶液2番目のパラメータとしてToDecimal機能へのCultureInfoを通過することです。

ByVal ci As System.Globalization.CultureInfo("sv-SE") 
Convert.ToDecimal("-10,00", ci).ToString("C", ci) 
+0

あなたは 'Convert.ToDecimal'を呼び出すべきではありません。 – SLaks

+0

代わりにどうすればいいですか? – vikasde

+0

'-1000d'と書く。 – SLaks

答えて

0

Cフォーマット指定子には小数点以下2桁が含まれます。
これらを取り除くには、C0を使用してください。

+0

私はそれを試して、-1.000 krを返します。それは-10.00krではありませんか? – vikasde

+0

'Convert.ToDecimal'はあなたの考えを返すわけではありません。小数のリテラルを使用します。 – SLaks

+0

Convert.ToDecimal( " - 10,00")を試したところ、-1000Dが返されました。 – vikasde

関連する問題