如何显示一定数量的小数位数

时间:2010-11-18 03:18:11

标签: matlab rounding number-formatting

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

例如,

  

>> x = 0.4654

     

x =

0.4654

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

谢谢!

3 个答案:

答案 0 :(得分:4)

我认为没有内置到任意位置的舍入,但你可以通过舍入(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

答案 1 :(得分:2)

您可以使用format命令控制命令窗口。我建议您查看doc format,它会为您提供具体选项。

如果您需要更高的精确度,最好使用disp和/或舍入函数,例如:z = round(x/y)*y

答案 2 :(得分:0)

更改格式。

format shortG