我将变量值存储在MATLAB中,并将其中一个变量值作为文件名的一部分。例如"Error=1e-003.mat"
,但是当我使用num2str
命令将数字转换为字符串时,不同版本的MATLAB为我提供了不同的格式。数字1e-3
,MATLAB2011给我1e-003
,MATLAB2012给我1e-03
。
当我尝试使用这两种格式的混合加载一批文件时,这会遇到麻烦。有没有人知道为指数添加零或删除零的方法,以便名称一致?或者其他任何解决这个问题的方法?
答案 0 :(得分:1)
这是一种相当强大的方法:
A = num2str(YOUR_NUMBER, '%0.0e');
if A(end-2)=='-' || A(end-2)=='+'
A = [A(1:end-2) '0' A(end-1:end)]; end
单词:转换数字,并检查倒数第二个字符是'+'
还是'-'
。如果是这样,请添加'0'
。
答案 1 :(得分:-1)
指定“将字符串格式化为第二个参数,如下所示:
>> disp(num2str(2920230,'%0.10e'))
2.9202300000e+006
此处%0.10e
表示在十进制之前显示至少0位数,在指数形式之后显示10位数。