我正在使用此代码从用户那里获得浮动输入。
1. float change = Getfloat();
2. change *= 100;
3. int remainder = change;
但是,当用户输入 4.2 第2行时,将变量变为 419.999969 ,并且行以 419 结束。 如何更改程序,以便有效地将float更改为int。
答案 0 :(得分:-2)
一种方法是舍入到最近的任何东西。简单版本将是
change = (int)(change + 0.5);
(这将在步骤2和3之间进行。)它将小于0.5的任何值向下舍入,以及大于或等于0.5的任何值。
如果您想要对负数进行舍入,或者如果您想要舍入到最接近的1以外的其他值,则可能会出现其他并发症,但这应该可以让您开始。