How avoid exponential notation in compose

4 vues (au cours des 30 derniers jours)
Luca Re
Luca Re le 22 Juin 2024
Commenté : Luca Re le 24 Juin 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"

Réponses (2)

halleyhit
halleyhit le 22 Juin 2024
Modifié(e) : halleyhit le 22 Juin 2024
compose("%f",daily)
or more specific
compose("%4.4f",daily)
seems working

Stephen23
Stephen23 le 24 Juin 2024
Modifié(e) : Stephen23 le 24 Juin 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"

Catégories

En savoir plus sur System Composer dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by