我知道MATLAB的格式长,格式短, eng ... 等等。但是short和long将始终显示预定义的小数位数,并带有指数,例如, format bank 将始终显示2位小数。
是否可以选择以“fortran方式”显示您的显式格式,例如f8.3 - > 1234.678?
我正在寻找一种方法来显示带有4个小数点的数字,其余部分位于小数点之前,没有指数。
答案 0 :(得分:11)
我不知道如何指定所需类型的全局格式。 sprintf('%15.4f', x)
或num2str(x, '%15.4f')
执行您正在寻找的内容,如果您不介意每次都明确地调用它们。
答案 1 :(得分:5)
答案 2 :(得分:4)
根据文档,它允许您format the number.
此外,格式为well documented as well.
答案 3 :(得分:3)
有两个简单的解决方案:
使用 sprintf 功能:
str = sprintf('%。4f',myNumber);
使用基于Java的格式,功能更强大(more information):
str = char(java.text.DecimalFormat('#。0000')。format(myNumber));
答案 4 :(得分:1)
我能想到的最接近的是:
format bank
它不会给你E和2位小数。
尝试阅读
help format
在那里寻找其他选项(我不再使用Matlab了......转而使用自由软件:))
答案 5 :(得分:0)
我只是像上面提到的mtrw一样使用sprintf和num2str。 sprintf()
适用于各种类型的多个标量参数(它适用于矩阵,但实际上并不是很明确)。 num2str()
适用于单个矩阵。
答案 6 :(得分:0)
在Matlab(.m)文件的顶部放置以下语句"格式化shortG"。
示例:
format shortG;
Q = [0 0.54994 0.1998 0.1998;
0 0.54994 0.1998 0.1998;
0 0.54994 0.1998 0.1998;
];
disp(Q);
有更多选项:Matlab output format