num2str default format

4 ビュー (過去 30 日間)
Ilya Gurin
Ilya Gurin 2020 年 5 月 4 日
コメント済み: Stephen23 2020 年 5 月 4 日
I want to print multiple values using fprintf, but with the same number formatting as num2str. Is there a format string that will give the same behavior as num2str?

回答 (2 件)

dpb
dpb 2020 年 5 月 4 日
'%.5g'
is default format iirc what num2str does and the way %g counts precision.
  1 件のコメント
Stephen23
Stephen23 2020 年 5 月 4 日
>> num = intmax('uint32');
>> num2str(num)
ans =
4294967295
>> sprintf('%.5g',num)
ans =
4.295e+09

サインインしてコメントする。


Walter Roberson
Walter Roberson 2020 年 5 月 4 日
no. num2str does a bunch of width calculations and chooses output format based on integer vs floating point
  1 件のコメント
Ilya Gurin
Ilya Gurin 2020 年 5 月 4 日
Haha, I want to accept both your answers. sprintf(pi, '%.5g') and num2str(pi) are the same. If I scale the input up by 1E10 or 1E100, the results are different, but I think I like the behavior of '%.5g' better.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

タグ

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by