打印浮点值0.9 in C

时间:2011-12-12 12:26:42

标签: c floating-point

请为我这个非常基本的问题鞭打我,但我仍然无法理解为什么会这样。

我读到了为了在昏迷后打印几个值,我应该在C中使用%.f。

所以我有这个问题,计算90/100。我希望打印0.9

#include <stdio.h>
#include <math.h>

int main()
{
double c=0;

c = 90/100;
printf("%.1f\n", c);
}

它显示我0.0 ..(错误..)。试图将其更改为(printf(“%f \ n”,c))以0.00000返回我..(错误..)

任何人都可以帮我吗? (对不起,编程真的很新......)

谢谢

4 个答案:

答案 0 :(得分:9)

问题是你正在进行整数除法。 90/100 = 0整数。

如果你想获得0.9,请执行:90.0 / 100.0

答案 1 :(得分:5)

问题出在

c = 90/100;

虽然,它将被分配给double数据类型,但计算本身都是整数,这就是值为0.0的原因。

尝试,

c = 90.0/100;

答案 2 :(得分:2)

是整数除法,执行:

c = 90.0/100;
c = (float)90/100;

你需要将至少一个操作符设为double,以将整个等式计算为double

答案 3 :(得分:1)

您正在划分两个整数,因此结果也是整数。请尝试以下

#include <stdio.h>
#include <math.h>

int main()
{
    double c=0;

    c = 90.0/100;
    printf("%.1f\n", c);
}