Print number as .0000000E+00

11 次查看(过去 30 天)
Hamilton
Hamilton 2013-6-18
I would like to print a number with the following format:
.0000000E+00
MATLAB prefers the following:
0.0000000E+000
Is there a way to solve this issue?

采纳的回答

Jan
Jan 2013-6-18
  2 个评论
Hamilton
Hamilton 2013-6-19
This is helpful removing the leading zero. Is there a way to maintain the exponential format? I think i can take care of the E+000 to E+00 issue by simply using some string modification functions.
Jan
Jan 2013-6-19
Perhaps something like this:
char(java.text.DecimalFormat('#,##0.###E00').format(0.1));

请先登录,再进行评论。

更多回答(1 个)

Pourya Alinezhad
Pourya Alinezhad 2013-6-18
fprintf('%1.5s',0.1)
1.5 stands for 5 decimal places.1 is for full number.
s==scientific
you could easily find a way to this problem if you were a c proogrammer...
  3 个评论
Pourya Alinezhad
Pourya Alinezhad 2013-6-18
actually i didn't checked this code in matlab.i used to code in this way in turbo c.and i per-assumed that this is true in matlab :)
Jan
Jan 2013-6-19
@Pourya: And obviously your assumption is not really wrong. Thanks for this interesting new piece of information.
Of course TMW did not implement fprintf from scratch but relies on existing libraries. Therefore even known bugs like buffer overflows and other undocumented features like %s with numbers appear in Matlab.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Language Fundamentals 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by