-2

所以出于某种原因,我有一个名为 wday 的浮点数,其值为 7.000000,但是当我说

int wdaygiven = wday;

我得到 6 而不是 7。当我这样做时也会发生这种情况

NSNumber *num = [NSNumber numberWithFloat:wday];

任何想法为什么?我真的需要 7 作为给定的值,而不是 6。

提前致谢

4

2 回答 2

1

这可能是因为该值不是精确的 7,而是类似于 6.999...(很多 9)的东西,它看起来是 7。如果转换为 int,所有小数都被删除,结果为 6。

根据您可以四舍五入的应用程序,取下一个更大的 int,添加 0.1 并转换为 int aso

于 2013-06-16T12:56:38.557 回答
0

浮点值 wday=7.00000 可能小于 7。

用这个:

int wdaygiven = roundf(wday);
于 2013-06-16T13:11:25.023 回答