Converting whole numbers to scientific notation

26 Ansichten (letzte 30 Tage)
Sukriti Kumar
Sukriti Kumar am 15 Jun. 2022
Beantwortet: Star Strider am 16 Jun. 2022
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.

Antworten (3)

Image Analyst
Image Analyst am 15 Jun. 2022
fprintf('%4e\n', 0);
0.000000e+00

Walter Roberson
Walter Roberson am 15 Jun. 2022
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 am 16 Jun. 2022
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'
.

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by