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. LTE上行加扰的目的是什么?
  2. vba读取csv文件到excel_利用VBA打开顺序文件,并读取
  3. 《Detroit:Become Human》玩家情感故事背后的叙事魔法和体验设计
  4. 69期-Java SE-007_面向对象-1-001-002
  5. php 直播源,【Bilibili直播源】浏览器抓取真实直播源地址(纯前端JS PHP解析源码)...
  6. 55.模拟撕衣服游戏编辑图片
  7. 算法音乐往事:二次元女神“初音未来”诞生记
  8. 第八届全国噪声与振动控制工程学术会议大会报告
  9. u盘插上电脑显示计算机无响应,为什么u盘连接电脑没反应,u盘在电脑上显示不出来...
  10. CRM 客户管理系统(SpringBoot+MyBatis)
  11. vue+node项目部署上线
  12. 中华女子学院计算机考试题库,中华女子学院综合素质测试面试题历年总结
  13. android手机调用系统相册(兼容小米手机)
  14. 今日学习在线编程题:竹鼠的白色季节
  15. 如何看待 Java 大厂 P6+ 这一岗位能力要求?
  16. js Console 对象 - Kaiqisan
  17. 若你喜欢怪人 其实我很美
  18. 良心安利农民svg图标素材网站
  19. 解神者x2服务器维护,解神者X2许愿币获取方法一览
  20. 将用户输入的金额转写成中文的大写数字 c++

热门文章

  1. Android studio吧,Android Studio 连接真机
  2. pytest的fixture传参数
  3. python MultipartEncoder
  4. cad vba 打开文件对话框_CAD每次打开系统都会新建一个Acad.vlx文件,如何解决呢?...
  5. php codeigniter 语言,关于php:CodeIgniter:语言文件编辑器?
  6. python 支持什么操作系统_操作系统1:什么是操作系统?
  7. thinkphp5 mysql助手_ThinkPHP5-数据库基本操作
  8. 什么是事件冒泡?如何阻止事件冒泡?
  9. 【BZOJ1483】【codevs2335】【hdu5997】梦幻布丁+加强版,LCA+主席树
  10. 【codevs1078】最小生成树,prim算法