首页 > C语言笔记

C语言printf()输出时保留三位小数

C语言 printf() 函数允许我们以各种格式输出数据,当我们需要输出浮点数并控制小数位数时,printf() 函数就显得尤为有用。

printf() 函数使用格式控制字符串来指定输出的格式,对于浮点数,我们通常使用%f格式说明符。要控制小数位数,我们可以在%f之间插入一个点号.和所需的小数位数。因此,要保留三位小数,我们可以使用%.3f

让我们通过一个简单的例子来演示如何使用 printf() 输出保留三位小数的浮点数:
#include <stdio.h>

int main() {
    float number = 3.14159265359;
    printf("保留三位小数:%.3f\n", number);
    return 0;
}
运行这段代码,我们将得到以下输出:
保留三位小数:3.142
在这个例子中,我们定义了一个 float 类型的变量 number,并赋予它 π(pi)的近似值。使用 %.3f 格式说明符,我们成功地将这个数字输出为三位小数。

不同数据类型的处理

值得注意的是,%.3f 格式说明符不仅适用于 float 类型,也适用于 double 类型。如果你的数据是 double 类型,可以使用相同的格式说明符:
#include <stdio.h>

int main() {
    double pi = 3.14159265359;
    printf("Double 类型,保留三位小数:%.3f\n", pi);
    return 0;
}
输出结果:
Double 类型,保留三位小数:3.142

处理不同精度的数字

printf() 函数在输出时会进行四舍五入,让我们看一些不同精度的数字示例:
#include <stdio.h>

int main() {
    printf("3.1415 保留三位小数:%.3f\n", 3.1415);
    printf("3.1416 保留三位小数:%.3f\n", 3.1416);
    printf("3.0001 保留三位小数:%.3f\n", 3.0001);
    printf("3.9999 保留三位小数:%.3f\n", 3.9999);
    return 0;
}
输出结果:
3.1415 保留三位小数:3.142
3.1416 保留三位小数:3.142
3.0001 保留三位小数:3.000
3.9999 保留三位小数:4.000
从这些例子中,我们可以看到 printf() 函数在保留三位小数时如何处理不同的数值,它会根据第四位小数进行四舍五入,确保输出的三位小数尽可能准确地表示原始数值。

结合字段宽度

除了控制小数位数,我们还可以指定输出的总宽度,这在创建对齐的输出时特别有用。格式为%m.nf,其中 m 是总宽度,n 是小数位数,例如:
#include <stdio.h>

int main() {
    printf("|%10.3f|\n", 3.14159);
    printf("|%-10.3f|\n", 3.14159);
    return 0;
}
输出结果:
|     3.142|
|3.142     |
在这个例子中,%10.3f 指定了总宽度为 10 个字符,包括小数点和三位小数。默认情况下,数字右对齐。使用 %-10.3f 可以使数字左对齐。 

相关文章