num2str default format

18 次查看(过去 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 CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by