MATLAB: How does fprintf function work

fprintf string

I have prepared a code that outputs a string that has a value depends in values result from my code. initially, it works with the following code:
fprintf('Arrhythmia was detected at t= %s \n',t(R_loc(i+1)))
and the output, for example, was: Arrhythmia was detected at t=9.550000e+00
I need the result as : Arrhythmia was detected at t=9.55 (without e+00)
another issue, I used this code:
Heart_Rate = length(R_loc)/(length(t)/fs)*60
fprintf('The heart rate = %s \n' , Heart_Rate)
and the result is : Heart_Rate =
54
The heart rate = 6
Why does this happen?
thanks ..

Best Answer

%s is for strings. For a fractional number, use %f:
fprintf('The heart rate = %.3f\n' , Heart_Rate); % 3 decimal places.