create or replace function l2u -- 小写金额转换成大写
(n_lowermoney in number) return varchar2 as
v_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 := ltrim(ltrim(ltrim(ltrim(v_upperstr, '元'), '零'), '角'),
'分');
if substr(v_upperstr, 1, 1) = '整' then
v_upperstr := '零元整';
end if;

return v_upperstr;
exception
when others then
return '发生错误: ' || sqlcode || '--' || sqlerrm;
end l2u;

金额大小写转换(4)相关推荐

  1. C#人民币金额大小写转换

    C#人民币金额大小写转换 在财务相关的软件的时候,常常设计到大小写金额的转换,小编整理了自己常用的数字金额大小写转换的方法代码 给大家参考如下: /// <summary> /// 金额小 ...

  2. 金额大小写转换工具类

    /***金额大小写转换工具类*/public class MoneyUtil {/** 大写数字 */private static final String[] NUMBERS = { "零 ...

  3. 人民币金额大小写转换函数

    [转帖]人民币金额大小写转换函数 Function NtoC( n0 :Extended) :wideString; //人民币金额大小写转换函数(如发现更为精简的,请告诉我) //作者:方小庆(上海 ...

  4. 六,iOS中的金额格式化和金额大小写转换

    1,金额格式化 (1)需要注意当金额或者数字为负数是需要单独处理 代码如下: /*string 金额格式化(整数部分为NSNumberFormatter,小数部分为手动)*/ + (NSString ...

  5. FastReport 金额大小写转换自定义函数

    在FastReport中编写金额数字转换大写自定义函数 function MoneyToCharacter(Money:real):string; //数字转换为中文大写 var     temp:s ...

  6. VB 金额大小写转换(两种方法)

    ' 本模块生成汉字大写的金额 ' Option Explicit ' 名称: CCh ' 得到一位数字 N1 的汉字大写 ' 0 返回 "" Function CCh(N1) As ...

  7. js 数字金额大小写转换成中文大写

    function Arabia_to_Chinese(Num) {for(i=Num.length-1;i>=0;i--){Num = Num.replace(",",&qu ...

  8. android金额大小写转换,Java/android 金额 数字转成大写汉子

    今天翻看自己的代码,发现了自己写的金额数字转成大写的代码,当然我也是在别人的基础上修改的,当时从网上copy了一份代码,发现能用,但是有很多bug,然后自己在别人的基础上修改了一番,满足了自己的应用! ...

  9. vue+element-ui金额大小写转换

    子组件 <template><div class="money-input"><divclass="input-box"ref=& ...

最新文章

  1. HAProxy入门及常用配置模拟测试
  2. 谷歌最新提出无需卷积、注意力 ,纯MLP构成的视觉架构
  3. GetHashCode() 的研究
  4. matlab微分的语句格式,偏微分差分四种格式的matlab程序.doc
  5. 1.逐帧动画shader
  6. 数据结构与算法--死磕二叉树
  7. 今天开始学C#.NET
  8. react滑动切换tab动画效果_使用React实现的水平标签(Tab)栏
  9. python 线性回归 统计检验 p值_PAST:最简便易用的统计学分析软件教程(一)软件基本信息介绍...
  10. asp.net获取浏览器的唯一标识_vue单页面应用如何在微信浏览器里进行网页授权获取用户信息
  11. 为心爱的人做一个超具创意的表白网页吧❤(告白气球)HTML+CSS+JavaScript
  12. linux中括号命令,Linux中的括号用法
  13. python安装reporter
  14. 手把手教你做一个APP应用(含源码)
  15. C++ P1082 同余方程
  16. 订单导出(1688)
  17. 不要签名证书将网页打包封装成苹果APP,无需苹果企业签名,IPA证书签名,ios签名证书,免越狱安装...
  18. 单片机c语言ad与da转换实验报告,单片机AD与DA转换实验报告.docx
  19. CS4398音频解码替代芯片DP4398完全兼容DAC解码
  20. mysql查询每个部门的最高和最低工资_SQL数据库 计算出每个部门的平均工资 最高工资和最低工资 语法怎么写?...

热门文章

  1. python 连接oracle学习
  2. mysql 最近_关于mysql查询最近一条记录
  3. 定理在数学中的简写形式_湘教版八年级数学上册知识点总结
  4. Java学习笔记2.1.3 Java基本语法 - Java关键字与标识符
  5. 无心剑古体诗《永恒之美》
  6. Spring Boot基础学习笔记08:Spring Boot整合Redis
  7. Scala学习笔记02:数据类型、常量与变量
  8. 【BZOJ4600】硬币游戏,博弈
  9. 【codevs1037】取数游戏,博弈
  10. 【BZOJ1013】球形空间产生器,第一次的高斯消元