如何用Matlab将人民币小写数字转换为大写
发布网友
发布时间:2022-04-09 15:32
我来回答
共2个回答
热心网友
时间:2022-04-09 17:01
具体方法是:
设置一个单位映射字符串表g_strUnit,可视为一个简单的HashTable。然后从头开始读取整数字符串的每个字符,若这个字符在整数字符串的位置为i,这个字符后面的单位就是g_strUnit[length-1-i]。
ASCII 转 整数
char(real(A)-32) 小写转大写
char(real(A)+32) 大写转小写
热心网友
时间:2022-04-09 18:19
clear;clc;
a1='壹贰叁肆伍陆柒捌玖';
a2={ '元' '拾' '佰' '仟' '万' '拾万' '佰万' '仟万' '亿'};
a3={'角' '分'};
s=200002.20;
ss=num2str(s*100);
N=length(ss);
s1=ss(1:N-2);
s2=ss(N-1:N);
x1=[];
x2=[];
for i=1:N-2
if ss(i)~='0'
x1=[x1 a1(str2num(s1(i))) a2{N-2+1-i}]
elseif x1(length(x1))~='零'
x1=[x1 '零']
end
end
if x1(length(x1))=='零'
x1=[x1(1:length(x1)-1) '元']
end
if s2(1)~='0' && s2(2)~='0'
x2=[a1(str2num(s2(1))) '角' a1(str2num(s2(2))) '分整']
elseif s2(1)=='0' && s2(2)~='0'
x2=['零' a1(str2num(s2(2))) '分整']
elseif s2(1)~='0' && s2(2)=='0'
x2=[a1(str2num(s2(1))) '角整']
else
x2='整'
end
x=[x1 x2]
这个是程序的主体部分,其他的你可以自己加上了!