输入float to int

时间:2015-07-07 20:00:01

标签: c type-conversion

我正在使用此代码从用户那里获得浮动输入。

1. float change = Getfloat();
2. change *= 100;
3. int remainder = change;

但是,当用户输入 4.2 第2行时,将变量变为 419.999969 ,并且行以 419 结束。 如何更改程序,以便有效地将float更改为int。

1 个答案:

答案 0 :(得分:-2)

一种方法是舍入到最近的任何东西。简单版本将是

change = (int)(change + 0.5);

(这将在步骤2和3之间进行。)它将小于0.5的任何值向下舍入,以及大于或等于0.5的任何值。

如果您想要对负数进行舍入,或者如果您想要舍入到最接近的1以外的其他值,则可能会出现其他并发症,但这应该可以让您开始。