很抱歉,如果这是一个菜鸟问题,但我是C的新手。我正在解决将float
更改为int
的问题(请求float
用户但将其作为int
返回。我以为我通过乘以100获得了解决方案,但我发现如果用户输入.59作为输入并将其乘以100,则结果为58.我试图找到解决方案,为什么会发生这种情况,但无法解决问题。吨。有谁知道为什么会这样,以及如何解决它?我将保留以下代码:
#include <stdio.h>
#include <cs50.h>
int main(void)
{
float money;
do
{
printf("How much change is owed?: ");
money = GetFloat();
}
while (money<0);
int x = money * 100;
if (money >= .25)
{
printf("%f times 100 = %d\n", money, x);
}
}
结果如下:
How much change is owed?: .59
0.590000 times 100 = 58