MATLAB: How to print number to 1dp – or 0 dp if an integer

MATLAB

Hi, I guess the title says it all.
I'm using
MATLAB code
sprintf('%.0f', testval) %to print to 0 dp
sprintf('%.1f', testval) %to print to 1 dp
Is there a way to (simply) print to 0dp if testval is an integer, but 1dp if it has any decimal part?
Thanks a lot,
Tom.

Best Answer

You can use rem()
rem(1.5,1) % gives 0.5
while
rem(3,1) % gives 0
testval = 3.5;
if (rem(testval,1)~=0)
disp('testval has a decimal part');
else
disp('testval is an integer');
end
Related Question