Stuck in exponential notation format

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

采纳的回答

Walter Roberson
Walter Roberson 2023-1-31
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 个评论
Oliver
Oliver 2023-1-31
That second part was exactly what I needed!
Didnt even realise that I had other options for the letter %

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by