我使用此代码从用户那里获取 float 输入。
1. float change = Getfloat();
2. change *= 100;
3. int remainder = change;
但是,当用户输入 4.2 时,第 2 行将变量更改为 419.999969,并且该行以 419 结尾。 如何更改程序,使其有效地将 float 更改为 int。
最佳答案
一种方法是四舍五入到最接近的值。简单的版本是
change = (int)(change + 0.5);
(这将在步骤 2 和 3 之间进行。)它会将任何小于 0.5 的值向下舍入,并将任何大于或等于 0.5 的值向上舍入。
如果您想要对负数进行四舍五入,或者想要四舍五入到最接近的 1 以外的值,则可能会出现其他复杂情况,但这应该可以帮助您入门。
关于c - 将 float 类型转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31278187/