2011-01-30 5 views
0

プレコは、データベース上のお金の分野で、イムcutureinfoはC#の培養小数の奇妙な行動

oc.preco 11.11 decimal 
oc.preco.ToString() "11,1100" string 

が、なぜこの奇妙なbehaviuor

+0

どのような動作が期待されますか? – gor

+0

cultureinfoは10進数2を設定しています。なぜ "11,1100"ですか?デバッグ時間にoc.precoを​​手動で設定した場合、itoStringは正常に動作します。 – waldecir

+1

Entity Frameworkを使用しましたか?私はEFがお金をx.1234という形で小数点に変換すると思います。 – Roger

答えて

2

をIDKのPT-BRですpreco文字列であると仮定すると、このコードは正常に機能するため、データベースの変換に問題があります。

var d = (decimal)11.11; 
var ci = CultureInfo.GetCultureInfo("pt-BR"); 
Console.Write(d.ToString(ci)); 

「11,11」と表示されます