【发布时间】:2009-10-24 14:58:38
【问题描述】:
我在 C# 中有一个函数,它返回以下内容:
...
float amount = smallestPercentage * (float)quantity;
return (int)amount;
现在我知道我应该使用 Convert.Int32(amount) 而不是类型转换为 int,这已经解决了问题。但我的问题真的是这个……
在家里开发我的程序 (Windows Vista) 我会得到返回值 1,但是当我将程序部署到另一个环境 (Windows XP) 时,我会得到一个返回值 0。
我想知道这是否与 Windows 版本、.NET 版本甚至 CPU 处理器有关?
谢谢。
大卫
【问题讨论】:
-
你四舍五入的浮点值是多少?
-
两台机器上都安装了哪个版本的CLR?
-
32 位 Vista,我不确定 CLR:我应该检查一下吗?
-
该值类似于 0.002223949 * 450