How avoid exponential notation in compose

4 Ansichten (letzte 30 Tage)
Luca Re
Luca Re am 22 Jun. 2024
Kommentiert: Luca Re am 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"

Antworten (2)

halleyhit
halleyhit am 22 Jun. 2024
Bearbeitet: halleyhit am 22 Jun. 2024
compose("%f",daily)
or more specific
compose("%4.4f",daily)
seems working

Stephen23
Stephen23 am 24 Jun. 2024
Bearbeitet: Stephen23 am 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"

Kategorien

Mehr zu System Composer finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by