Formatting of result values.
2 ビュー (過去 30 日間)
古いコメントを表示
For example, x=0.0012345678.
How can I get x to be in the format 0.123457*10^(-2). There are six significant digits and if more than six decimal places, which are converted to standard format by rounding.
Thank you!
0 件のコメント
採用された回答
Star Strider
2022 年 9 月 18 日
That is not a format MATLAB will do automatically.
I wrote a utility function for my own use for such requirements —
x=0.0012345678;
lod = 1;
rfd = @(x,lod) [x*(10.^(-fix(log10(x)-lod+1))), fix(log10(x)-lod+1)]; % Anonymous Function Creating Reformatted Number
Out = sprintf('%.6fE%+d', rfd(x,lod)) % Character Vector With Formatted Output
Experiment with it if necessary. MATLAB maintains full precision internally regardless of the way the numbers are formatted.
.
0 件のコメント
その他の回答 (1 件)
John D'Errico
2022 年 9 月 18 日
You cannot write it in that form, at least not easily. Yes, you could write a formatting code. But you would need to write it, separating out the exponent, then building it as a string.
You CAN use an exponential format, like this:
format short e
x=0.0012345678
But if you want that specific 10^-2 form, that will take more work.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!