How to display a number as $xxx,xxx.xx or even xxxx.xx rather than -4.8e-001

31 ビュー (過去 30 日間)
Chris
Chris 2012 年 3 月 23 日
I have a disp command that returns the status
num2str(total,'%i')
For some reason it is returning the totals as
-4.808337e-001
How can I have it return smply as .048 or .04?
Most of the amounts are currenty so ideally formatted $xxx,xxx.xx would be perfect
  1 件のコメント
Oleg Komarov
Oleg Komarov 2012 年 3 月 23 日
Which part of the answers you got on
http://www.mathworks.com/matlabcentral/answers/32171-function-to-format-number-as-currency
didn't work out?

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

採用された回答

Jan
Jan 2012 年 3 月 23 日
sprintf('%.2f', -4.808337e-001)
>> -0.48
I do not see a sufficient and reliable method to display this as ".048" or ".04". Do you really want to omit the leading sign and zeros and divide the fractional part by 10?

その他の回答 (2 件)

Majid Al-Sirafi
Majid Al-Sirafi 2012 年 3 月 24 日
Wonderful answer dear...
thank you very much,I also need this answer

Majid Al-Sirafi
Majid Al-Sirafi 2012 年 3 月 24 日
hi dear i have approximately same this problem look at this code
n = 3456;
% Separate them
na = num2str(n) - '0';
% substitute the 4 (position 2) with 13
na(2) = 13;
% Recombine
out = str2double(sprintf('%d',na)); %out will be 31356 but double
out1 = out + .342; % out1 will be 3.135634200000000e+04 but double
out2=sprintf('%.3f',out1); %out2 will be 31356.342 but character
but I want 31356.342 but double
thank you dear
  4 件のコメント
Majid Al-Sirafi
Majid Al-Sirafi 2012 年 3 月 24 日
I know that dear
thank you very much
Oleg Komarov
Oleg Komarov 2012 年 3 月 24 日
Then I don't understand you.

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

製品

Community Treasure Hunt

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

Start Hunting!

Translated by