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

时间:2011-09-15 01:46:48

标签: 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%20s", "-----------", "----");
    printf("\n%20s%20lf", "One third", third);
    printf("\n");
    return 0;
}

这会为third的值打印“0.333333”。如何改变上述内容以获得以下输出?

         Description                Data
         -----------                ----
           One third                0.33

1 个答案:

答案 0 :(得分:10)

在你想要的地方使用“%。2f”。

例如,修改以下语句

printf("\n%20s%20lf", "Fraction", quotientdecimal);

进入这一个:

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

只会显示变量quotlentdecimal的两个分数。