MATLAB num2str格式

时间:2012-10-03 23:26:50

标签: matlab

我将变量值存储在MATLAB中,并将其中一个变量值作为文件名的一部分。例如"Error=1e-003.mat",但是当我使用num2str命令将数字转换为字符串时,不同版本的MATLAB为我提供了不同的格式。数字1e-3,MATLAB2011给我1e-003,MATLAB2012给我1e-03

当我尝试使用这两种格式的混合加载一批文件时,这会遇到麻烦。有没有人知道为指数添加零或删除零的方法,以便名称一致?或者其他任何解决这个问题的方法?

2 个答案:

答案 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位数。