博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
金额大小写转换(3)
阅读量:7112 次
发布时间:2019-06-28

本文共 841 字,大约阅读时间需要 2 分钟。

declare

je number := 1000000000100000.01;
snum varchar2(30) := to_char(round(abs(je * 100)));
len pls_integer := length(snum);
sch varchar2(30) := '壹贰叁肆伍陆柒捌玖';
sjin varchar2(80) := '分角圆拾佰仟万拾佰仟亿拾佰仟万拾佰仟';
srmb varchar2(100) := '';
num pls_integer;
flage boolean := true;
begin
for i in 1 .. len
loop
num := to_number(substr(snum, len - i + 1, 1));
if i = 11 and substr(srmb, 1, 1) = '万' then
srmb := case when substr(srmb, 2, 1) not in ('零', '圆') then '零' end || substr(srmb, 2);
end if;
if num > 0 then
srmb := substr(sch, num, 1) || substr(sjin, i, 1) || srmb;
flage := true;
elsif i in (3, 7, 11, 15) then
srmb := substr(sjin, i, 1) || srmb;
flage := false;
elsif flage then
srmb := case when i = 1 then '整' else '零' || srmb end;
flage := false;
end if;
end loop;
if je < 0 then
srmb := '负' || srmb;
end if;
dbms_output.put_line(srmb);
end;

转载地址:http://qsghl.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
查看服务器性能工具
查看>>
E1配置与分析(4种常见E1组网结构)-史上最全
查看>>
Sybase数据库备份和还原
查看>>
HP UNIX学习
查看>>
spring--spring集成redis
查看>>
【问题】Kylin Step 10 Build Cube失败
查看>>
信息提示框:MessageBox
查看>>
教你用报表工具搭建企业考核系统
查看>>
321android浏览器
查看>>
find命令基本用法及练习
查看>>
ejabberd disable_sasl_mechanisms
查看>>
什么时候才能恢复我学习的心...
查看>>
superset开源可视化BI工具部署
查看>>
printf输出_int64时为0
查看>>
linux下 cmatrix的安装和使用
查看>>
nginx-rtmp-module执行ngx_rtmp_block()流程
查看>>
OpenCV和Zbar两个Python模块实现二维码和条形码识别
查看>>
kernel(2)
查看>>
硅谷容器公司Rancher年报:预示着容器时代已来
查看>>