How avoid exponential notation in compose

5 views (last 30 days)
Luca Re
Luca Re on 22 Jun 2024
Commented: Luca Re on 24 Jun 2024
hi, i want to avodi exponential notation
compose("%d",daily)
...
"-250"
"1.562500e+02"
"-3.750000e+01"
correct is .
"-250"
"156.25"
"-37.5"

Answers (2)

halleyhit
halleyhit on 22 Jun 2024
Edited: halleyhit on 22 Jun 2024
compose("%f",daily)
or more specific
compose("%4.4f",daily)
seems working

Stephen23
Stephen23 on 24 Jun 2024
Edited: Stephen23 on 24 Jun 2024
"How avoid exponential notation in compose"
Explanation: the %d conversion is for integer values. Are all of your data integer valued? (hint: no). The documentation states "If you specify a conversion that does not fit the data, such as a text conversion for a numeric value, MATLAB® overrides the specified conversion, and uses %e." By definition the %e conversion uses exponent notation.
Solution: specify a more suitable conversion, e.g. %g
daily = [-250; 156.25; -37.5];
compose("%.5g",daily)
ans = 3x1 string array
"-250" "156.25" "-37.5"

Categories

Find more on System Composer in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!