您的位置:

Matlab printf输出格式详解

一、基本格式控制符

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!
    %