Mercurial > hg > octave-nkf
diff scripts/general/num2str.m @ 6997:6d0d8d621532
[project @ 2007-10-10 16:41:16 by jwe]
author | jwe |
---|---|
date | Wed, 10 Oct 2007 16:41:16 +0000 |
parents | 0d11a12643f1 |
children | 93c65f2a5668 |
line wrap: on
line diff
--- a/scripts/general/num2str.m +++ b/scripts/general/num2str.m @@ -53,8 +53,12 @@ else ## Setup a suitable format string if (isnumeric (x) && round (x) == x && abs (x) < 1e10) - dgt1 = ceil (log10 (max (max (abs (real (x(:)))), - max (abs (imag (x(:))))))) + 1; + if (max (abs (real (x(:)))) == 0) + dgt1 = 2; + else + dgt1 = ceil (log10 (max (max (abs (real (x(:)))), + max (abs (imag (x(:))))))) + 2; + endif dgt2 = dgt1 - (min (real (x(:))) >= 0); if (length (abs (x) == x) > 0) @@ -121,9 +125,9 @@ else if (isnumeric (x) && round (x) == x && abs (x) < 1e10) if (max (abs (x(:))) == 0) - dgt = 1; + dgt = 2; else - dgt = floor (log10 (max (abs(x(:))))) + (min (real (x(:))) < 0) + 1; + dgt = floor (log10 (max (abs(x(:))))) + (min (real (x(:))) < 0) + 2; endif if (length (abs (x) == x) > 0) fmt = sprintf ("%%%dg ", dgt);