oracle中有乙個將數字金額轉換為中文形式的內部函式 money_to_chinese
此方法出處:
sql**
create
or replace
function money_to_chinese (money in
varchar2)
return varchar2
isc_money varchar2 (12);
m_string varchar2 (60) := '分角圓拾佰仟萬拾佰仟億';
n_string varchar2 (40) := '壹貳叄肆伍陸柒捌玖';
b_string varchar2 (80);
n char;
len number (3);
i number (3);
tmp number (12);
is_zero boolean;
z_count number (3);
l_money number;
l_sign varchar2 (10);
begin
l_money := abs
(money);
if money < 0
then
l_sign := '負';
else
l_sign := '';
end if;
tmp := round (l_money, 2) * 100;
c_money := rtrim (ltrim (to_char (tmp, '999999999999')));
len := length (c_money);
is_zero := true;
z_count := 0;
i := 0;
while i < len
loop
i := i + 1;
n := substr (c_money,
i,
1
);
if n = '0'
then
if len - i = 6 or
len - i = 2 or
len = i
then
if is_zero
then
b_string := substr (b_string,
1,
length (b_string) - 1
);
is_zero := false;
end if;
if len - i = 6
then
b_string := b_string || '萬';
end if;
if len - i = 2
then
b_string := b_string || '圓';
end if;
if len = i
then
b_string := b_string || '整';
end if;
z_count := 0;
else
if z_count = 0
then
b_string := b_string || '零';
is_zero := true;
end if;
z_count := z_count + 1;
end if;
else
b_string :=
b_string
|| substr (n_string,
to_number (n),
1
)
|| substr (m_string,
len - i + 1,
1
);
z_count := 0;
is_zero := false;
end if;
end loop;
b_string := l_sign || b_string;
return b_string;
exception
when others
then
return (sqlerrm);
end;
C 中將小寫金額轉換為大寫金額
asp.net的專案中,常常需要把客戶端輸入的小寫金額轉換為大寫,這裡便提供了乙個類,來幫助我們完成這些工作。public class money2chinesehelper string strlower null string strupart null string strupper null...
數字轉換為大寫金額
changetochinese num num num.replace g,替換tomoney 中的 num num.replace g,替換tomoney 中的空格 num num.replace g,替換掉可能出現的 字元 if isnan num 字元處理完畢後開始轉換,採用前後兩部分分別轉換...
python數字金額轉換為中文大寫金額
python數字金額轉換為中文大寫金額 編寫一函式,將數字金額轉換為中文大寫金額。設最高位考慮到億,最低位考慮到分 如 數字金額為1023.445,轉換為中文大寫金額為 壹仟零佰貳拾叄元肆角伍分 輸入 乙個數字金額 如 1234.5 輸出 中文大寫金額 壹仟貳佰叄拾肆元伍角零分 from decim...