how do I print number to 1dp - or 0 dp if an integer?

3 次查看(过去 30 天)
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.

采纳的回答

Wayne King
Wayne King 2012-3-26
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Additional Math and Discrete 的更多信息

标签

尚未输入任何标签。

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by