查看单个帖子
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何显示一定数量的小数位数

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

例如,
>> x = 0.4654

x =

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

谢谢!



回答:

我认为不存在对任意位置进行舍入的内置功能,但是您可以通过对round(x * 10 ^ 位数 )/ 10 ^ 位数进行舍入来获得舍入结果。这会打印出带有尾随的零,如果您想摆脱那些零,则必须进行某种特殊格式的打印,例如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

更多&回答...
poster 当前离线   回复时引用此帖