値を通貨にフォーマットするときに発生する丸めの問題に気づきました。特定のしきい値を超えると、10進値が変化します。
ここに3つのサンプルがあります-最初のサンプルは成功しますが、初期値が増加するにつれて他の2つは成功しません。
1)
float value = 10000.25;
value_as_string = value .ToString( "0,0.00", CultureInfo.InvariantCulture );
--> "10000.25"; // great
2)
float value = 100000.25;
value_as_string = value .ToString( "0,0.00", CultureInfo.InvariantCulture );
--> "100,000.20" // why 20 cents?
3)
float value = 1000000.25;
value_as_string = value .ToString( "0,0.00", CultureInfo.InvariantCulture );
--> "1,000,000.00" // where did my 25 cents go?
これを回避する方法があるかどうか教えてください。ありがとう。