Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在c语言中,我应该用多少小数来表示浮点数_C_Floating Point - Fatal编程技术网

在c语言中,我应该用多少小数来表示浮点数

在c语言中,我应该用多少小数来表示浮点数,c,floating-point,C,Floating Point,我如何决定我的浮点应该使用多少个小数。看,我有这个密码` int main (void) { printf("please give me an integer: "); float num = GetFloat(); float numb; numb = num; numb = numb /2; printf("the half of %f is %f\n", num, numb); } 但是计算机在之后打印出很多零 eks: 请给

我如何决定我的浮点应该使用多少个小数。看,我有这个密码`

int main (void)
{
    printf("please give me an integer: ");
    float num = GetFloat(); 

    float numb;  

    numb = num;
    numb = numb /2;

    printf("the half of %f is %f\n", num, numb);
}
但是计算机在之后打印出很多零

eks:

请给我一个整数:4
400万的一半是200万

所以它可以是3个小数,而不是7:

请给我一个整数:10
10.0的一半是5.00

请给我一个整数:3
3.00的一半是1.50


您必须使用
printf
格式参数:

int main (void)
{
    printf("please give me an integer: ");
    float num = GetFloat(); 

    float numb;  

    numb = num;
    numb = numb /2;

    printf("the half of %.3f is %.3f\n", num, numb);

    return 0;
}

在本例中,语法
%.3f
告诉
printf
打印3位小数。

您也可以始终使用
%g
格式说明符。它使用
f
e
格式格式化浮点数,具体取决于有效位数

int main (void) {
    printf("Please give me a floating point number: ");

    // Read the value from the user.
    float num;
    scanf("%f", &num); 

    // Compute it's half.
    float half = num /2;

    // Display the result.
    printf("The half of %f is %g\n", num, half);
}

这是printf的格式类型

%[flags][width][.precision][length]specifier

在这种情况下,您应该有这个
printf(“%.3f的一半是%.3f\n”,num,numb)

A可能有帮助。@JoachimPileborg指定的3位小数不存在。的RTFM。