如何限制Matlab输出中的小数点?

如何限制Matlab输出中的小数点?,matlab,decimal,Matlab,Decimal,我的主代码是一个tcl代码,但它调用Matlab算法进行计算。然后将计算结果输入主tcl代码。我想将输出中的小数点限制为2。目前,我得到了680.9166666。我希望是680.92。有什么Matlab命令可以用于此吗?要回答这个问题,您可以选择或。两者之间的主要区别在于sprintf()将字符串输出到变量,而fprintf()将字符串输出到文件或命令窗口 例如: a = 123.456; % Method 1 a2 = sprintf('%.2f', a); % Method 2 fpri

我的主代码是一个tcl代码,但它调用Matlab算法进行计算。然后将计算结果输入主tcl代码。我想将输出中的小数点限制为2。目前,我得到了680.9166666。我希望是680.92。有什么Matlab命令可以用于此吗?

要回答这个问题,您可以选择或。两者之间的主要区别在于
sprintf()
将字符串输出到变量,而
fprintf()
将字符串输出到文件或命令窗口

例如:

a = 123.456;

% Method 1
a2 = sprintf('%.2f', a);

% Method 2
fprintf('%.2f\n', a)

% Method 3
fID = fopen('testfile.txt', 'w+'); % Open file for writing, discard existing contents
fprintf(fID, '%.2f\n', a);
fclose(fID);
有关如何指定所需格式的信息,请参阅有关参数的文档



作为我以上评论的扩展,在输出到表之前,在Tcl脚本中完成此操作可能更好。我不熟悉该语言,但我假设它使用了类似于
sprintf()
,这是一个非常通用的编程命令。

关于
格式缩写g
?您的输出类型是什么?你在写文件吗?命令窗口?根据您的需要,我建议您查看或。有关字段宽度的更多信息,请参见参数。据我所知,格式shortg只会更改输出在Matlab命令窗口中的显示方式。我想要的是在将输出反馈给tcl脚本之前,将输出四舍五入到较小的小数点spot@KritiKapoor输入一个数字到小数点后两位,你希望得到什么?除非你改变这个数字,否则你不会改变这个数字在内存中的存储方式。
fprintf()。