num2str default format

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 个)

'%.5g'
is default format iirc what num2str does and the way %g counts precision.

1 个评论

>> num = intmax('uint32');
>> num2str(num)
ans =
4294967295
>> sprintf('%.5g',num)
ans =
4.295e+09

请先登录,再进行评论。

Walter Roberson
Walter Roberson 2020-5-4

1 个投票

no. num2str does a bunch of width calculations and chooses output format based on integer vs floating point

1 个评论

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.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品

版本

R2019b

标签

Community Treasure Hunt

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

Start Hunting!

Translated by