2016-03-22 13 views
1

私は小数点を持っていますか?クラス内の残高と呼ばれるプロパティ。私はこのクラスの2つのオブジェクトを持っており、両方のオブジェクトのバランスの値は同じです(100としましょう)。 は、私は、オブジェクトを文字列に変換するとき、私は異なる値を取得し、このオブジェクトから文字列への矛盾した変換

object bal1= type.GetProperty("Balance").GetValue(object1); 
object bal2= type.GetProperty("Balance").GetValue(object2); 

ように、両方のオブジェクトからバランスの値を取得するためにリフレクションを使用します。

Console.WriteLine(bal1.ToString()); // output : 100.00 
Console.WriteLine(bal2.ToString()); // output : 100 

誰かがこれの背後にある理由を説明できますか?両方の目的で

答えて

1

バランスいいえ、そうでない

同じです。小数点は、割り当てられた有効桁数を覚えています。このコード:

decimal d1 = 100m; 
decimal d2 = 100.000m; 

Console.WriteLine(d1); 
Console.WriteLine(d2); 

が印刷されます:

100 
100.000 

をもWhy does a C# System.Decimal remember trailing zeros?を参照してください。

関連する問題