金额大小写转换(4)
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)相关推荐
- C#人民币金额大小写转换
C#人民币金额大小写转换 在财务相关的软件的时候,常常设计到大小写金额的转换,小编整理了自己常用的数字金额大小写转换的方法代码 给大家参考如下: /// <summary> /// 金额小 ...
- 金额大小写转换工具类
/***金额大小写转换工具类*/public class MoneyUtil {/** 大写数字 */private static final String[] NUMBERS = { "零 ...
- 人民币金额大小写转换函数
[转帖]人民币金额大小写转换函数 Function NtoC( n0 :Extended) :wideString; //人民币金额大小写转换函数(如发现更为精简的,请告诉我) //作者:方小庆(上海 ...
- 六,iOS中的金额格式化和金额大小写转换
1,金额格式化 (1)需要注意当金额或者数字为负数是需要单独处理 代码如下: /*string 金额格式化(整数部分为NSNumberFormatter,小数部分为手动)*/ + (NSString ...
- FastReport 金额大小写转换自定义函数
在FastReport中编写金额数字转换大写自定义函数 function MoneyToCharacter(Money:real):string; //数字转换为中文大写 var temp:s ...
- VB 金额大小写转换(两种方法)
' 本模块生成汉字大写的金额 ' Option Explicit ' 名称: CCh ' 得到一位数字 N1 的汉字大写 ' 0 返回 "" Function CCh(N1) As ...
- js 数字金额大小写转换成中文大写
function Arabia_to_Chinese(Num) {for(i=Num.length-1;i>=0;i--){Num = Num.replace(",",&qu ...
- android金额大小写转换,Java/android 金额 数字转成大写汉子
今天翻看自己的代码,发现了自己写的金额数字转成大写的代码,当然我也是在别人的基础上修改的,当时从网上copy了一份代码,发现能用,但是有很多bug,然后自己在别人的基础上修改了一番,满足了自己的应用! ...
- vue+element-ui金额大小写转换
子组件 <template><div class="money-input"><divclass="input-box"ref=& ...
最新文章
- LTE上行加扰的目的是什么?
- vba读取csv文件到excel_利用VBA打开顺序文件,并读取
- 《Detroit:Become Human》玩家情感故事背后的叙事魔法和体验设计
- 69期-Java SE-007_面向对象-1-001-002
- php 直播源,【Bilibili直播源】浏览器抓取真实直播源地址(纯前端JS PHP解析源码)...
- 55.模拟撕衣服游戏编辑图片
- 算法音乐往事:二次元女神“初音未来”诞生记
- 第八届全国噪声与振动控制工程学术会议大会报告
- u盘插上电脑显示计算机无响应,为什么u盘连接电脑没反应,u盘在电脑上显示不出来...
- CRM 客户管理系统(SpringBoot+MyBatis)
- vue+node项目部署上线
- 中华女子学院计算机考试题库,中华女子学院综合素质测试面试题历年总结
- android手机调用系统相册(兼容小米手机)
- 今日学习在线编程题:竹鼠的白色季节
- 如何看待 Java 大厂 P6+ 这一岗位能力要求?
- js Console 对象 - Kaiqisan
- 若你喜欢怪人 其实我很美
- 良心安利农民svg图标素材网站
- 解神者x2服务器维护,解神者X2许愿币获取方法一览
- 将用户输入的金额转写成中文的大写数字 c++
热门文章
- Android studio吧,Android Studio 连接真机
- pytest的fixture传参数
- python MultipartEncoder
- cad vba 打开文件对话框_CAD每次打开系统都会新建一个Acad.vlx文件,如何解决呢?...
- php codeigniter 语言,关于php:CodeIgniter:语言文件编辑器?
- python 支持什么操作系统_操作系统1:什么是操作系统?
- thinkphp5 mysql助手_ThinkPHP5-数据库基本操作
- 什么是事件冒泡?如何阻止事件冒泡?
- 【BZOJ1483】【codevs2335】【hdu5997】梦幻布丁+加强版,LCA+主席树
- 【codevs1078】最小生成树,prim算法