MATLAB: I have a problem sprintf %f

sprintf

Hey!
I have this code:
a=4.5;
str = sprintf('a = %f',a)
str =
a = 4.500000
Could you please tell me how I can modify this so it prints "a=4.5" for me, without having those zeros?

Best Answer

Use fprintf():
a = 4.5;
fprintf('a = %.1f\n', a); % Specify format specifier %.1f to get one decimal place.
Or you could still use sprintf() if you wanted to use the string somewhere else:
a=4.5;
str = sprintf('a = %.1f',a); % Use semicolon, and create a string variable.
fprintf('%s\n', str); % Print string variable to command window.