How to display a number as $xxx,xxx.xx or even xxxx.xx rather than -4.8e-001
98 次查看(过去 30 天)
显示 更早的评论
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
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
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?
0 个评论
更多回答(2 个)
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 个评论
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!