一、基本格式控制符
Matlab中的printf输出格式包括了很多种类型的控制符,其中最基本的有以下几种:
formatSpec = 'Hello, world!';
fprintf(formatSpec)
上述代码的输出结果为 Hello, world!
除了字符串类型的控制符外,还有整型、浮点型、字符型、日期型等各种类型的控制符,下面以整型和浮点型为例进行说明。
二、整型控制符
整型控制符用于控制输出整型格式,常用的有以下几种:
- %d: 输出十进制整数
- %u: 输出无符号十进制整数
- %o: 输出八进制整数
- %x: 输出十六进制整数(小写字母)
- %X: 输出十六进制整数(大写字母)
x = 65535;
formatSpec = '十进制:%d, 八进制:%o, 十六进制(小写字母):%x, 十六进制(大写字母):%X';
fprintf(formatSpec, x, x, x, x)
上述代码的输出结果为 十进制:65535, 八进制:177777, 十六进制(小写字母):ffff, 十六进制(大写字母):FFFF
三、浮点型控制符
浮点型控制符用于控制输出浮点型格式,常用的有以下几种:
- %f: 输出小数形式的浮点数
- %e: 以科学计数法形式输出浮点数(小写字母e表示指数)
- %E: 以科学计数法形式输出浮点数(大写字母E表示指数)
- %g: 根据数值大小自动选择使用%f或%e格式输出浮点数
- %G: 根据数值大小自动选择使用%f或%E格式输出浮点数
x = 3.141592653589793;
formatSpec = '小数形式:%f, 科学计数法形式:%e, 科学计数法形式:%E, 自动选择输出格式:%g, 自动选择输出格式:%G';
fprintf(formatSpec, x, x, x, x, x)
上述代码的输出结果为 小数形式:3.141593, 科学计数法形式:3.141593e+00, 科学计数法形式:3.141593E+00, 自动选择输出格式:3.14159, 自动选择输出格式:3.14159
四、格式宽度与对齐方式控制符
格式宽度和对齐方式控制符用于控制输出的字符宽度和对齐方式,常用的有以下几种:
- %[width]d: 设置输出整数的宽度为width,不足部分用空格填充,默认右对齐
- %-[width]d: 设置输出整数的宽度为width,不足部分用空格填充,默认左对齐
- %[width].[precision]f: 设置输出浮点数的宽度为width,保留小数点后precision位小数,默认四舍五入
x = 123;
y = 3.141592653589793;
formatSpec1 = '%10d';
formatSpec2 = '%-10d';
formatSpec3 = '%10.2f';
fprintf(formatSpec1, x);
fprintf('\n');
fprintf(formatSpec2, x);
fprintf('\n');
fprintf(formatSpec3, y);
上述代码的输出结果为:
123 123 3.14
五、特殊控制符
特殊控制符用于控制输出时需要特殊处理的情况,常用的有以下几种:
- %%: 输出百分号
- %c: 输出单个字符
- %s: 输出字符串
- %t: 输出水平制表符(Tab)
- %n: 输出换行符
x = 'A';
y = 'Hello, world!';
formatSpec1 = '%%';
formatSpec2 = '%c';
formatSpec3 = '%s';
fprintf(formatSpec1);
fprintf('\n');
fprintf(formatSpec2, x);
fprintf('\n');
fprintf(formatSpec3, y);
fprintf('\n\t');
fprintf(formatSpec1);
fprintf('%n');
上述代码的输出结果为:
% A Hello, world! %