Stuck in exponential notation format

6 views (last 30 days)
Hello All,
I am struggling to display my answer without scientific notation.
fprintf('Failed due to temperature %0.1d\n',Percentfailtemp)
This will spit out scientific notation in the command window, regardless of the fact that the value of my variable within the workspace is not in scientific notation.
Is there a work around?
Thanks in advance

Accepted Answer

Walter Roberson
Walter Roberson on 31 Jan 2023
format long g
for Percentfailtemp = [0.011 0.11 1.1 11 110 110.234 100*(1-eps)]
fprintf('Failed due to temperature %0.1d\n',Percentfailtemp)
end
Failed due to temperature 1.1e-02 Failed due to temperature 1.1e-01 Failed due to temperature 1.1e+00 Failed due to temperature 11 Failed due to temperature 110 Failed due to temperature 1.1e+02 Failed due to temperature 1.0e+02
Scientific notation got used precisely in the situations where the input is not an integer. This includes cases such as
100*(1-eps)
ans =
100
That display as integers but are not exactly integers.
Do not use a %d format for values that are not exact integers. If you want to use 1 decimal place, use a %f format
for Percentfailtemp = [0.011 0.11 1.1 11 110 110.234 100*(1-eps)]
fprintf('Failed due to temperature %0.1f\n',Percentfailtemp)
end
Failed due to temperature 0.0 Failed due to temperature 0.1 Failed due to temperature 1.1 Failed due to temperature 11.0 Failed due to temperature 110.0 Failed due to temperature 110.2 Failed due to temperature 100.0
  1 Comment
Oliver
Oliver on 31 Jan 2023
That second part was exactly what I needed!
Didnt even realise that I had other options for the letter %

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!