MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   如何显示一定数量的小数位数 (https://www.labfans.com/bbs/showthread.php?t=24132)

poster 2019-12-10 20:48

如何显示一定数量的小数位数
 
在Matlab中,如何控制在命令窗口中显示的小数位数?

例如,
[INDENT] >> x = 0.4654

x =

0.4654 [/INDENT]如何在命令窗口中分别将变量x的值显示为0.5、0.47、0.465?

谢谢!



[B]回答:[/B]

我认为不存在对任意位置进行舍入的内置功能,但是您可以通过对round(x * 10 ^ [I]位数[/I] )/ 10 ^ [I]位数进行[/I]舍入来获得舍入结果。这会打印出带有尾随的零,如果您想摆脱那些零,则必须进行某种特殊格式的打印,例如sprintf,这样您就可以通过执行以下操作获得所需的结果:

sprintf('%.1f', round(x*10)/10) sprintf('%.2f', round(x*100)/100) sprintf('%.3f', round(x*1000)/1000) 希望对您有所帮助!

编辑:如果要对矩阵执行此操作,我不确定是否有更好的方法,但是您可以循环遍历以x为矩阵的行:

for i=1:length(x(:,1)), disp(sprintf('%.2f\t', round(x(i,:)*100)/100)) end

[url=https://stackoverflow.com/questions/4211371]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 01:13

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.