Converting whole numbers to scientific notation

28 ビュー (過去 30 日間)
Sukriti Kumar
Sukriti Kumar 2022 年 6 月 15 日
回答済み: Star Strider 2022 年 6 月 16 日
Is it possible to convert a whole number to a decimal and then later to scientific notation? For example, I would like to have '0' in the following format: 0.0000e+00. I've tried using the "format short e" and "format long e" commands but they are not working.

回答 (3 件)

Image Analyst
Image Analyst 2022 年 6 月 15 日
fprintf('%4e\n', 0);
0.000000e+00

Walter Roberson
Walter Roberson 2022 年 6 月 15 日
Not with the default display routines, no. You can use sprintf() or compose() with %.4e format to get character vector or string() objects

Star Strider
Star Strider 2022 年 6 月 16 日
Another option —
expstr = @(x) [x(:).*10.^ceil(-log10(abs(x(:)+(x==0)))) floor(log10(abs(x(:)+(x==0))))]; % Updated: 2021 05 04
n = 0;
Result = sprintf('%.4fe%+04d', expstr(n))
Result = '0.0000e+000'
Result = sprintf('%.4fe%+03d', expstr(n))
Result = '0.0000e+00'
.

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by