#define PI 3.14
#define R 2
#include <stdio.h>
main() {
float s;
s = PI * R * R;
printf("mianji=%6.3f", s);
}
%6.3f 逐字符拆解| 符號 | 含義 | 本例效果 |
|---|---|---|
% | 格式符起始標記 | — |
6 | 最小寬度:輸出字符總寬度 (含小數點、符號、數字) 至少 6 個字符,不足左側補空格 | 結果佔 6 列 |
. | 精度分隔符 | — |
3 | 精度:小數點後保留 3 位數字,四捨五入 | 保留 3 位小數 |
f | 類型說明符:float/double 以定點小數形式輸出 | 浮點數格式 |
s = 3.14 * 2 * 2 = 12.56
printf("mianji=%6.3f", s);
輸出: mianji= 12.560
↑↑↑↑↑↑
共 6 字符 (含 1 個前導空格)
若 s = 123.456,輸出 mianji=123.456 (寬度 7,超過 6 時**不截斷**,按實際寬度輸出)。
| 格式符 | 含義 | 輸出示例 (值 12.56) |
|---|---|---|
%f | 默認精度 6,無寬度限制 | 12.560000 |
%.3f | 精度 3,無寬度限制 | 12.560 |
%6.3f | 寬度 6,精度 3 | 12.560 |
%-6.3f | 左對齊 (負號標記),寬度 6 | 12.560 |
%06.3f | 不足寬度用 0 填充 (右對齊) | 012.560 |
printf("項目 單價 數量 金額\n");
printf("%-10s %8.2f %6d %10.2f\n", "蘋果", 5.50, 100, 550.00);
printf("%-10s %8.2f %6d %10.2f\n", "香蕉", 3.20, 200, 640.00);
/* 輸出整齊對齊的表格 */
項目 單價 數量 金額
蘋果 5.50 100 550.00
香蕉 3.20 200 640.00
%6.3f = 最小寬度 6 + 小數精度 3。掌握「寬度控制對齊、精度控制精確度、標記控制對齊方向/填充字符」三大維度,即可輸出專業級的數值報表。記住:寬度是**最小**值,數據過大時自動擴展,不會截斷。