MATLAB: Difference between %d and %f

format

Hi, I dont quite understand the difference between %d and %f and its usage in certain cases.
Does %d correspond to int in C and %f correspond to float?
What is the case I have to use %d instead of %f?

Best Answer

Refer to the documentation.
%d represents signed integers (base 10).
sprintf('John is %d years old', 7)
% 'John is 7 years old'
%f represents floating point numbers.
sprintf('The first 8 dp of pi are %.8f', pi)
% 'The first 8 dp of pi are 3.14159265'
%f can also be used to represent integers by rounding floating point inputs. %d cannot be used in this way.
sprintf('Pi is rounded to %.0f', pi)
% 'Pi is rounded to 3'
sprintf('Pi is rounded to %.d', pi)
% 'Pi is rounded to 3e+00'