我的matlab将值1042
显示为1.042e+003
如何让matlab停止使用e
表示法并显示4位数字(或更长)
更具体地说,这就是我要做的事情:
title(sprintf('1st harmonic of I. Vpeak = %i', AmpHar(i)));
AmpHar(i)
的值为1042
。但是在情节标题中它显示为1.042e+003
修改
AmpHar(i)
的的完整值为1042.3478
。但我希望matlab在标题
1042.34
答案 0 :(得分:3)
编辑的答案是,要显示具有正确小数位的小数部分,请使用%f
并设置精度:
title(sprintf('1st harmonic of I. Vpeak = %.2f', AmpHar(i)));
关于第一个问题,您使用的是整数的正确格式说明符(%i
和%d
是相同的)。问题是AmpHar(i)
不是整数值,因为它有一个小数分量。当MATLAB的sprintf
看到这个时,它会切换到指数表示法(%e
)。另一个有趣的情况是,它将切换到指数if %d
gets an integer larger than 2^63-1
。看那里的解决方案。