How avoid exponential notation in compose

hi, i want to avodi exponential notation
compose("%d",daily)
...
"-250"
"1.562500e+02"
"-3.750000e+01"
correct is .
"-250"
"156.25"
"-37.5"

回答 (2 件)

halleyhit
halleyhit 2024 年 6 月 22 日
編集済み: halleyhit 2024 年 6 月 22 日

1 投票

compose("%f",daily)
or more specific
compose("%4.4f",daily)
seems working
Stephen23
Stephen23 2024 年 6 月 24 日
編集済み: Stephen23 2024 年 6 月 24 日

0 投票

"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"

カテゴリ

ヘルプ センター および File ExchangeSystem Composer についてさらに検索

質問済み:

2024 年 6 月 22 日

コメント済み:

2024 年 6 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by