我有一个用于打印单元格数组的matlab代码。矩阵的大小为50x13。
第1行是列名。
第1列是日期,其余列是数字。
代码中定义的dateformat是:
dFormat = struct;
dFormat.Style = struct( 'NumberFormat', '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)' );
dFormat.Font = struct( 'Size', 8 );
有人可以解释一下dFormat.Style代码的含义吗?
由于
答案 0 :(得分:1)
第一行创建一个名为dFormat
的空struct(没有字段的结构)。结构可以包含其中一个字段中的任何内容,包括另一个结构。第二行向'Style'
结构添加一个名为dFormat
的字段,并将其设置为另一个带有'NumberFormat'
字段的结构。 'NumberFormat'
字段设置为等于该长字符串。你现在有了结构结构。第三行与第二行类似。
请注意,除非dFormat
已经存在,否则第一行不是必需的,并且需要将其作为dFormat.Style
“归零”并隐式创建它。但是,在某些情况下,使用struct
函数可以使代码更具可读性,因为对象对访问方法和属性使用类似的表示法。换句话说,您的所有代码都可以替换为:
dFormat.Style.NumberFormat = '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)';
dFormat.Font.Size = 8;
有关详细信息,请参阅MathWorks中的this video以及此list of helpful structure functions and examples。
答案 1 :(得分:0)
@horchler已经详细阐述了结构,但我想你可能实际上对这个结构Style字段的内容更感兴趣。
如果您只对_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)
感兴趣,那么MATLAB与我的关系并不像。
我最好的猜测是,此代码用于以后提供其他程序,以便构建excel文件。