Matlab 格式化输出,使整数填充为两位零

Matlab 格式化输出,使整数填充为两位零,matlab,matrix,number-formatting,Matlab,Matrix,Number Formatting,当我在MATLAB中创建1x10矩阵时,例如a=[1:10],它返回: a = 1 2 3 4 5 6 7 8 9 10 一,。e、 ,它忽略数字1到9之间的零位数字。我想要一个这样的矩阵: a = 01 02 03 04 05 06 07 08 09 10. 如果要以特定格式显示数字,可以为特定类型的数字重载disp功能。在该函数中

当我在MATLAB中创建1x10矩阵时,例如
a=[1:10]
,它返回:

a =
     1     2     3     4     5     6     7     8     9    10
一,。e、 ,它忽略数字1到9之间的零位数字。我想要一个这样的矩阵:

a =
     01     02     03     04     05     06     07     08     09    10.

如果要以特定格式显示数字,可以为特定类型的数字重载
disp
功能。在该函数中,需要创建一个前导为零的字符串

如果要创建包含带前导零的数字的字符串,可以使用
sprintf
。例如,如果你想

year = 2012;
month = 6;
day = 1;
可以创建前导零的文件名,如下所示:

fileName = sprintf('%i%02i%02i.dat',year,month,day)
fileName =
    20120601.dat

如果要以特定格式显示数字,可以为特定类型的数字重载
disp
功能。在该函数中,需要创建一个前导为零的字符串

如果要创建包含带前导零的数字的字符串,可以使用
sprintf
。例如,如果你想

year = 2012;
month = 6;
day = 1;
可以创建前导零的文件名,如下所示:

fileName = sprintf('%i%02i%02i.dat',year,month,day)
fileName =
    20120601.dat
试试这个:

>> a = 1:10
a =
     1     2     3     4     5     6     7     8     9    10

>> aa = cellstr(num2str(a(:),'%02d'))'
aa = 
    '01'    '02'    '03'    '04'    '05'    '06'    '07'    '08'    '09'    '10'
请注意,它现在是字符串的单元格数组:

>> whos a aa
  Name      Size            Bytes  Class     Attributes

  a         1x10               80  double              
  aa        1x10              640  cell                
试试这个:

>> a = 1:10
a =
     1     2     3     4     5     6     7     8     9    10

>> aa = cellstr(num2str(a(:),'%02d'))'
aa = 
    '01'    '02'    '03'    '04'    '05'    '06'    '07'    '08'    '09'    '10'
请注意,它现在是字符串的单元格数组:

>> whos a aa
  Name      Size            Bytes  Class     Attributes

  a         1x10               80  double              
  aa        1x10              640  cell                

2
02
是相同的数字。你的意思是你想要一个自定义的方式来显示你的矩阵吗?没错。我可以在MATLAB中实现吗?一个类似的问题:。顺便说一下,这个命令似乎对您的特定问题没有帮助。@Luca Gereti是的,Luca。“格式化”命令不起作用。我正在尝试编写一个字符串,该字符串的文件如下:20120601.dat。令我惊讶的是,该程序解释为:201261.dat。这就像零被抑制一样。
2
02
是同一个数字。你的意思是你想要一个自定义的方式来显示你的矩阵吗?没错。我可以在MATLAB中实现吗?一个类似的问题:。顺便说一下,这个命令似乎对您的特定问题没有帮助。@Luca Gereti是的,Luca。“格式化”命令不起作用。我正在尝试编写一个字符串,该字符串的文件如下:20120601.dat。令我惊讶的是,该程序解释为:201261.dat。就像零被抑制了一样。但是现在数组的类型完全不同了!好的,乔纳斯。我在声明中没有具体说明。我想就像奥利写的那样。sprintf-return的使用strings@MattPhillips:是,因为前导零在处理数字类型时没有意义。不管怎样,我已经改变了我的答案。”索洛卡瓦略:如果我的答案是有用的,请考虑接受我的答案!但是现在阵列的类型完全不同了!好的,乔纳斯。我在声明中没有具体说明。我想就像奥利写的那样。sprintf-return的使用strings@MattPhillips:是,因为前导零在处理数字类型时没有意义。不管怎样,我已经改变了我的答案。”索洛卡瓦略:如果我的答案是有用的,请考虑接受我的答案!