FUNCTION AMOUNT_CHANGE(n_yffj NUMBER) RETURN VARCHAR2 IS

v_str VARCHAR2(80);

V_LIU VARCHAR2(80);

V_LENGTH VARCHAR2(50);

v_str1 VARCHAR2(20);

v_chr1 VARCHAR2(1);

v_chr2 VARCHAR2(2);

i NUMBER(2);

j NUMBER(2);

x NUMBER(19,2);

BEGIN

v_str:='';

x := n_yffj; --若小数位超过两位,截断

IF x<0 THEN --判断输入金额是否为负数

BEGIN

RETURN '输入金额小于零, 不能转换!';

END;

END IF;

IF x>= 100000000000 THEN --判断输入金额是否超过最大值

BEGIN

RETURN '输入金额超过最大值, 不能转换!';

END;

END IF;

v_str1 := TO_CHAR(X);

j := NVL(LENGTH(v_str1), 0);

IF SUBSTR(v_str1,j-2,1)<>'.' THEN -- 判断小数点所在位置, 一

-- 律整理小数点后面有两个字符

IF SUBSTR(v_str1,j-1,1)='.' THEN

v_str1:=v_str1||'0';

ELSE

IF SUBSTR(v_str1,j,1)='.' THEN

v_str1:=v_str1||'00';

ELSE

v_str1:=v_str1||'.00';

END IF;

END IF;

END IF;

j := NVL(LENGTH(v_str1), 0)+1;

i := j - 1;

LOOP

v_chr1 := SUBSTR(v_str1,j-i,1);

--将每个数字对应成相应的大写数字

IF v_chr1 = ' ' OR v_chr1 = '0' OR v_chr1 IS NULL

THEN v_chr2 := '零';

ELSIF v_chr1='1' THEN v_chr2 := '壹';

ELSIF v_chr1='2' THEN v_chr2 := '贰';

ELSIF v_chr1='3' THEN v_chr2 := '叁';

ELSIF v_chr1='4' THEN v_chr2 := '肆';

ELSIF v_chr1='5' THEN v_chr2 := '伍';

ELSIF v_chr1='6' THEN v_chr2 := '陆';

ELSIF v_chr1='7' THEN v_chr2 := '柒';

ELSIF v_chr1='8' THEN v_chr2 := '捌';

ELSIF v_chr1='9' THEN v_chr2 := '玖';

ELSE v_chr2 := ' ';

END IF;

--相应的位数对应成元,角,分.

IF I=14 then v_str:=v_str||v_chr2||'佰';

ELSIF I=13 then v_str:=v_str||v_chr2||'拾';

ELSIF I=12 then v_str:=v_str||v_chr2||'亿';

ELSIF I=11 then v_str:=v_str||v_chr2||'仟';

ELSIF I=10 THEN v_str:=v_str||v_chr2||'佰';

ELSIF I=9 THEN v_str:=v_str||v_chr2||'拾';

ELSIF I=8 THEN v_str:=v_str||v_chr2||'万';

ELSIF I=7 THEN v_str:=v_str||v_chr2||'仟';

ELSIF I=6 THEN v_str:=v_str||v_chr2||'佰';

ELSIF I=5 THEN v_str:=v_str||v_chr2||'拾';

ELSIF I=4 THEN v_str:=v_str||v_chr2||'元';

ELSIF I=2 THEN v_str:=v_str||v_chr2||'角';

ELSIF I=1 THEN v_str:=v_str||v_chr2||'分';

END IF;

i := i - 1;

IF i = 0 THEN

EXIT;

END IF;

END LOOP;

/*----------------------------------------*/

v_str:=replace(v_str,'零仟零佰','零佰');

v_str:=replace(v_str,'零仟壹佰','零壹佰');

v_str:=replace(v_str,'零仟貳佰','零貳佰');

v_str:=replace(v_str,'零仟叁佰','零叁佰');

v_str:=replace(v_str,'零仟肆佰','零肆佰');

v_str:=replace(v_str,'零仟伍佰','零伍佰');

v_str:=replace(v_str,'零仟陆佰','零陆佰');

v_str:=replace(v_str,'零仟柒佰','零柒佰');

v_str:=replace(v_str,'零仟捌佰','零捌佰');

v_str:=replace(v_str,'零仟玖佰','零玖佰');

/*----------------------------------------*/

v_str:=replace(v_str,'零佰零拾','零拾');

v_str:=replace(v_str,'零佰壹拾','零壹拾');

v_str:=replace(v_str,'零佰貳拾','零貳拾');

v_str:=replace(v_str,'零佰叁拾','零叁拾');

v_str:=replace(v_str,'零佰肆拾','零肆拾');

v_str:=replace(v_str,'零佰伍拾','零伍拾');

v_str:=replace(v_str,'零佰陆拾','零陆拾');

v_str:=replace(v_str,'零佰柒拾','零柒拾');

v_str:=replace(v_str,'零佰捌拾','零捌拾');

v_str:=replace(v_str,'零佰玖拾','零玖拾');

/*-----------------------------------------*/

v_str:=replace(v_str,'零拾零亿','亿');

v_str:=replace(v_str,'零拾壹亿','零壹亿');

v_str:=replace(v_str,'零拾貳亿','零貳亿');

v_str:=replace(v_str,'零拾叁亿','零叁亿');

v_str:=replace(v_str,'零拾肆亿','零肆亿');

v_str:=replace(v_str,'零拾伍亿','零伍亿');

v_str:=replace(v_str,'零拾陆亿','零陆亿');

v_str:=replace(v_str,'零拾柒亿','零柒亿');

v_str:=replace(v_str,'零拾捌亿','零捌亿');

v_str:=replace(v_str,'零拾玖亿','零玖亿');

v_str:=replace(v_str,'零拾零万','万');

v_str:=replace(v_str,'零拾壹万','零壹万');

v_str:=replace(v_str,'零拾貳万','零貳万');

v_str:=replace(v_str,'零拾叁万','零叁万');

v_str:=replace(v_str,'零拾肆万','零肆万');

v_str:=replace(v_str,'零拾伍万','零伍万');

v_str:=replace(v_str,'零拾陆万','零陆万');

v_str:=replace(v_str,'零拾柒万','零柒万');

v_str:=replace(v_str,'零拾捌万','零捌万');

v_str:=replace(v_str,'零拾玖万','零玖万');

v_str:=replace(v_str,'零拾零元','元');

v_str:=replace(v_str,'零拾壹元','零壹元');

v_str:=replace(v_str,'零拾貳元','零貳元');

v_str:=replace(v_str,'零拾叁元','零叁元');

v_str:=replace(v_str,'零拾肆元','零肆元');

v_str:=replace(v_str,'零拾伍元','零伍元');

v_str:=replace(v_str,'零拾陆元','零陆元');

v_str:=replace(v_str,'零拾柒元','零柒元');

v_str:=replace(v_str,'零拾捌元','零捌元');

v_str:=replace(v_str,'零拾玖元','零玖元');

v_str:=replace(v_str,'零万','万');

v_str:=replace(v_str,'零亿','亿');

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

v_str:=replace(v_str,'佰亿','佰亿零');

v_str:=replace(V_STR,'拾亿','拾亿零');

v_str:=replace(V_STR,'仟万','仟万零');

v_str:=replace(v_str,'佰万','佰万零');

v_str:=replace(V_STR,'拾万','拾万零');

/*-----------------------*/

v_str:=replace(v_str,'零角零分','整');

v_str:=replace(v_str,'零角壹分','零壹分');

v_str:=replace(v_str,'零角貳分','零貳分');

v_str:=replace(v_str,'零角叁分','零叁分');

v_str:=replace(v_str,'零角肆分','零壹分');

v_str:=replace(v_str,'零角伍分','零伍分');

v_str:=replace(v_str,'零角陆分','零陆分');

v_str:=replace(v_str,'零角柒分','零柒分');

v_str:=replace(v_str,'零角捌分','零捌分');

v_str:=replace(v_str,'零角玖分','零玖分');

v_str:=replace(v_str,'零拾','');

v_str:=replace(v_str,'零分','');

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

v_str:=replace(v_str,'零万','万');

v_str:=replace(v_str,'零亿','亿');

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

RETURN v_str; --返回值

END;

oracle显示人民币,请问如何讲数字转变为大写人民币格式相关推荐

  1. 使用 C# 将数字转换成大写人民币

    贴段最近在项目中用到的一个函数. 因涉及到财务,需要把数字符转换成大写人民币汉字,于是自己动手写了一个,使用的算法比较笨,各位看客不要笑啊. 可转换数字大小在10亿以下,超过的,就无能为力了,不过大家 ...

  2. 数字金额转换为大写人民币汉字

    // 数字金额转换为大写人民币汉字convertCurrency (money) {// 汉字的数字var cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ' ...

  3. JS将数字金额转换为大写人民币汉字

    转载自 qubernet 博客 JS将数字金额转换为大写人民币汉字 function convertCurrency(money) {//汉字的数字var cnNums = new Array('零' ...

  4. oracle里存储函数将金额数字转换成大写

    CREATE OR REPLACE FUNCTION NUMBER_TO_CHINESE(P_NUM IN NUMBER DEFAULT NULL)RETURN NVARCHAR2 IS/*Ver:1 ...

  5. js将数字金额转换为大写人民币

    今天换算律师打官司金额,用到了小写金额转化为大写汉字的问题,这里把具体思路分析一下 1.首先判断输入数值正负问题, 2.其次有小数点部分需要处理,将数值每次乘以10进行拆分,乘10--%10--结果为 ...

  6. JS实现将数字金额转换为大写人民币汉字

    function convertCurrency(money) {//汉字的数字var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒 ...

  7. 数字转换成大写人民币

    a = int(input("请输入一个数字: ")) if a == 0:     result = '零圆' else:     sub_name = ['零', '壹', ' ...

  8. 使用JS将数字金额转为大写的人民币

    使用JS将数字金额转为大写的人民币 刚好今天有时间写文章,就想到了上次做项目时做到的一个需求,拿出来分享一下. 如何将数字金额转为大写人民币? 一点思路 : 封装方法 列出大写人民币的所需的单位 设置 ...

  9. 最全长文详述“数字人民币简史”,揭开数字人民币神秘面纱

    从2014年央行组织研发到2022年即将来临的冬奥会场景应用,八年来我国数字人民币的发展与数字经济的时代脉搏同频共振,与金融行业的数字化转型同向而行.同时,全球数字货币发展也在助推中国数字人民币进行金 ...

最新文章

  1. 包含锚点平滑滚动效果/解决锚点链接碰到固定定位问题/导航选中背景变色/固顶/返回顶部效果全...
  2. Myeclise下tomcat启动报错,启动超时
  3. 显著性目标检测代码全汇总!(包含2D、3D、4D以及Video)
  4. 不死鸡和不死牛的故事
  5. 多线程方式实现Socket通信
  6. Flex 主窗体给弹出窗体传值
  7. mysql补充(1)校对集utf8_unicode_ci与utf8_general_ci
  8. 博客园的BLOG也申请了
  9. 关于重写equals()与hashCode()
  10. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
  11. 京东健康CEO辛利军:感谢刘强东的战略格局和超前眼光
  12. 【回文串14】LeetCode 680. Valid Palindrome II
  13. IPv4中IP地址分类
  14. 微型计算机系统的几个指标课件,[计算机基础课件67.ppt
  15. Activiti7 表介绍
  16. 机器学习之理解支持向量机SVM
  17. mac pycharm如何打开setting
  18. python读取excel文本单元格换行符_Excel自文本导入内容时如何做到单元格内换行...
  19. Ble Mesh技术(一)之概览
  20. YY语音无有效验证导致下载执行任意程序

热门文章

  1. python12306下单步骤_python编程实现12306的一个小爬虫实例
  2. 中国信通院 | 车联网白皮书合集
  3. Gauss quadrature approximation by Lanczos algorithm
  4. 为什么静下心来阅读会是一种奢侈?
  5. 关于MOS管栅极和栅介质(氧化物)的材料选择
  6. Scrum板与Kanban如何抉择?敏捷工具:opdea板与按照guarbpgz
  7. 摄像头P2P软件提供,完美解决打洞及音视频、用户码传输问题。
  8. 批量修改文件后缀名(扩展名格式),操作简单1行命令搞定!
  9. C语言基础:if语句
  10. 【TCP】Recv-Q和Send-Q 不要在有什么误解了