Format of exponential with num2str

19 ビュー (過去 30 日間)
Kov
Kov 2013 年 2 月 20 日
Hello everybody,
I have a problem and I need some help.
I have something like this :
num2str(2.55, '1.3e') and this gives me
2.550e+000
With 1 for the field width and 3 for the precision after the decimal point.
What I want is this :
2.550+e00
Only 2 zeros for the exponential. Is there a way to do this?
Thank you.

採用された回答

Walter Roberson
Walter Roberson 2013 年 2 月 20 日
The exponential format differs between MS Windows and the other operating systems.
You can use one of the other operating systems. Or, you can manipulate the returned strings to delete the extra 0. There is no format item to control the number of digits in the exponential.
  1 件のコメント
Walter Roberson
Walter Roberson 2013 年 2 月 21 日
S = num2str(2.55, '1.3e');
S = regexprep( S, '(?<=e[-+])0', '' );

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

その他の回答 (4 件)

Kov
Kov 2013 年 2 月 21 日
Thanks for the answer. Yeah I'm on Windows and I only have this operating system.
How can I manipulate the returned strings to remove the extra zero, knowing that it would be the first zero of the three for the exponential?

José-Luis
José-Luis 2013 年 2 月 21 日

Kov
Kov 2013 年 2 月 21 日
Thanks for the script.
I think i'll just manipulate the returned strings. Thanks for the help.

Daniel Shub
Daniel Shub 2013 年 2 月 21 日

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by