oracle中將數字金額轉換為中文大寫函式

2021-06-26 04:46:12 字數 2387 閱讀 7772

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...