Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.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 如何限制printf在小数点后显示的位数?_C_Decimal - Fatal编程技术网

C 如何限制printf在小数点后显示的位数?

C 如何限制printf在小数点后显示的位数?,c,decimal,C,Decimal,我编写了一个小程序,使用scanf读取两个整数,然后执行各种算术计算。我正在使用printf显示结果。如何使printf仅显示小数点后的两位数字?从简化的代码示例开始: #include <stdio.h> int main(void) { double third = 1.0 / 3.0; // display data printf("\n%20s%20s", "Description", "Data"); printf("\n%20s%2

我编写了一个小程序,使用scanf读取两个整数,然后执行各种算术计算。我正在使用
printf
显示结果。如何使
printf
仅显示小数点后的两位数字?从简化的代码示例开始:

#include <stdio.h>

int main(void)
{
    double third = 1.0 / 3.0;

    // display data  
    printf("\n%20s%20s", "Description", "Data");
    printf("\n%20s%20s", "-----------", "----");
    printf("\n%20s%20lf", "One third", third);
    printf("\n");
    return 0;
}
在您想要的位置使用“%.2f”

例如,修改以下语句

printf("\n%20s%20lf", "Fraction", quotientdecimal);
在这一点上:

printf("\n%20s%.2f", "Fraction", quotientdecimal);

将只显示变量QuotentDecimal的两个小数。

您所说的“仅两个小数”到底是什么意思?您指的是浮点宽度(字符总数)、精度(小数点右边的数字)还是其他?请包括样品输出。您可以使用
元素来构造示例(因此尚不支持)。请注意,您不需要发布整个程序。应该完整而简洁。
main
的主体可以简化为一个
printf
语句。OP可能更喜欢
%-20.2lf
将结果一直粘贴到右侧,结果是小数点始终对齐。如果20个字符不是所需的列宽,只需更改说明符的该部分。。。
printf("\n%20s%.2f", "Fraction", quotientdecimal);