how to print E formated numbers.
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Pappu Murthy
el 8 de Mzo. de 2018
Comentada: Star Strider
el 8 de Mzo. de 2018
I have numbers such as 0.1032E-02 (say) If I read this as x = 0.1032E-02 and save it to a text file using fopen, and fprintf fid = fopen('Testing.txt','wt'); fprintf(fid, '%15.5E\n',x) it always prints x as 1.032E-03 but I would like the 0 in front just as the way I assigned the value to x. How do i do it?
2 comentarios
Stephen23
el 8 de Mzo. de 2018
Editada: Stephen23
el 8 de Mzo. de 2018
@Pappu Murthy: Numeric data classes do not store any formatting, so printing a number "just as the way I assigned the value to x" is not possible in general: a value will simply be displayed according to the fprintf specification. With that in mind: if you need to convert to numeric, do you always want a leading zero in the printed output?
Respuesta aceptada
Star Strider
el 8 de Mzo. de 2018
Try this little utility anonymous function I wrote a while back to solve this exact problem:
a = 0.1032E-02
expstr = @(x) [x*10.^floor(-log10(abs(x))) floor(log10(abs(x))+1)];
Result = sprintf('%.7fE%+03d', expstr(a))
Result =
'0.1032000E-02'
5 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Argument Definitions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!