sql語句 返回人民幣 大寫

2021-06-04 06:51:32 字數 1977 閱讀 1068

create or replace function l2u -- 小寫金額轉換成大寫

(n_lowermoney in number

)return varchar2

asv_lowerstr varchar2(200); -- 小寫金額

v_upperpart varchar2(200);

v_upperstr varchar2(200); -- 大寫金額

begin

v_lowerstr := ltrim(rtrim(to_char(round(n_lowermoney,2),'9999999999999.99')));

if substr(v_lowerstr,1,1) = '#' then

return '轉換金額超過計算範圍(計算範圍為:計算範圍為: 0 - 9,999,999,999,999.99)';

end if;

for i in 1 .. length(v_lowerstr) loop

select decode(substr(v_lowerstr,length(v_lowerstr) - i + 1,1),

'.','',

'0','零', '1','一', '2','二', '3','三', '4','四',

'5','五', '6','六', '7','七', '8','八', '9','九')||

decode(i,1,'分',2,'角',3,null,4,null,5,'十',6,'佰',7,'仟',8,'萬',

9,'十',10,'佰',11,'仟',12,'億',13,'十',14,'佰',15,'仟',16,'萬',null)

into v_upperpart from dual;

v_upperstr := v_upperpart||v_upperstr;

end loop;

v_upperstr := replace(v_upperstr,'一十','十');

v_upperstr := replace(v_upperstr,'零十','零');

v_upperstr := replace(v_upperstr,'零佰','零');

v_upperstr := replace(v_upperstr,'零仟','零');

v_upperstr := replace(v_upperstr,'零零零','零');

v_upperstr := replace(v_upperstr,'零零','零');

v_upperstr := replace(v_upperstr,'零角零分','');

v_upperstr := replace(v_upperstr,'零分','整');

v_upperstr := replace(v_upperstr,'零角','零');

v_upperstr := replace(v_upperstr,'零億零萬零元','億元');

v_upperstr := replace(v_upperstr,'億零萬零元','億元');

v_upperstr := replace(v_upperstr,'零億零萬','億');

v_upperstr := replace(v_upperstr,'零萬零元','萬元');

v_upperstr := replace(v_upperstr,'萬零元','萬元');

v_upperstr := replace(v_upperstr,'零億','億');

v_upperstr := replace(v_upperstr,'零萬','萬');

v_upperstr := replace(v_upperstr,'零元','元');

v_upperstr := replace(v_upperstr,'零零','零');

return v_upperstr;

exception when others then

return '發生錯誤: '||sqlcode||'--'||sqlerrm;

end l2u;

返回人民幣大寫方式(num2rmb)

1 create orreplace function num2rmb pi money nvarchar2 return nvarchar2 is2 purpose 返回人民幣大寫方式 3 v num number 4 i number 5 j number 6 k number 7 l numb...

人民幣金額大寫

q 在與財務相關的應用中,經常會用到人民幣金額的大寫,比如發票的列印程式。本題的任務是 從鍵盤輸入乙個十億以內的正整數 int型別 把它轉換為人民幣金額大寫 不考慮使用者輸入錯誤的情況 比如,使用者輸入 35201,程式輸出 叄萬伍仟貳佰零壹 使用者輸入 30201,程式輸出 叄萬零貳佰零壹 使用者...

人民幣大寫轉換

人民幣大寫轉換 param numbervalue 人民幣小寫 return rmbcapital function numbervalue var chinesevalue 轉換後的漢字金額 var string1 零壹貳叄肆伍陸柒捌玖 漢字數字 var string2 萬仟佰拾億仟佰拾萬仟佰拾元...