在我下面的代码中
long Price = 148920000;
long PRICE = 1000000;
double Multiplier = 100.00;
int Value = (int)(((double)Price / PRICE) * Multiplier);
我希望值是 14892,但在 C# 中它是 14891....
最佳答案
浮点运算 id 总是近似的。使用 Math.Round()、Math.Floor() 或 Math.Ceiling() 之一来控制如何将 double / float 转换为任何 int 类型。或者看看改用 Decimal。
关于c# - C# 中的类型转换,显式转换为 int 和 Convert.ToInt32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15390269/