我注意到当我将一个值格式化为货币时会出现一个舍入问题——一旦我通过某个阈值,十进制值就会改变。
这里有 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?
请让我知道是否有解决方法。谢谢。