ORACLE数字转换人民币大写
ORACLE 数字转换人民币大写
示例.
数字 :183066999230.68
人民币大写 :壹仟捌佰参拾亿陆仟陆佰玖拾玖万玖仟贰佰参拾圆陆角捌分
数字 :999900000000
人民币大写 :玖仟玖佰玖拾玖亿圆整
Step 1. Create Lookups: CUX_CNY_DICTIONARY
(N) Application Developer > Application > Lookups > Application Object Library

|
Application Object Library Lookups |
||||||||
|
Type |
CUX_CNY_DICTIONARY |
Access Level
|
||||||
|
Meaning |
CUX_CNY_DICTIONARY |
|||||||
|
Application |
Application Object Library |
|||||||
|
Description |
CNY character translation |
|||||||
|
Code |
Meaning |
Description |
Tag |
From |
To |
Enabled |
[ ] |
|
0 |
零 |
|
|
|
|
* |
|
|
1 |
壹 |
|
|
|
|
* |
|
|
2 |
贰 |
|
|
|
|
* |
|
|
3 |
参 |
|
|
|
|
* |
|
|
4 |
肆 |
|
|
|
|
* |
|
|
5 |
伍 |
|
|
|
|
* |
|
|
6 |
陆 |
|
|
|
|
* |
|
|
7 |
染 |
|
|
|
|
* |
|
|
8 |
捌 |
|
|
|
|
* |
|
|
9 |
玖 |
|
|
|
|
* |
|
|
Q |
仟 |
|
|
|
|
* |
|
|
B |
佰 |
|
|
|
|
* |
|
|
S |
拾 |
|
|
|
|
* |
|
|
Y |
亿 |
|
|
|
|
* |
|
|
W |
万 |
|
|
|
|
* |
|
|
U |
圆 |
|
|
|
|
* |
|
|
Z |
整 |
|
|
|
|
* |
|
|
J |
角 |
|
|
|
|
* |
|
|
F |
分 |
|
|
|
|
* |
|
Step 2. Create Function: CUX_CONVERT_CNY
create or replace function cux_convert_cny(num in number) return varchar2
is
l_receive_number number(14,2);
l_number varchar2(100);
l_num_length number;
l_unit varchar2(100) := 'QBSGYQBSGWQBSG.JF';
l_cny varchar2(200);
l_trans_cny varchar2(200);
function translater(transNum in varchar2) return varchar2
is
l_meaning varchar2(80);
begin
select flv.meaning
into l_meaning
from fnd_lookup_values_vl flv
where 1 = 1
and flv.enabled_flag = 'Y'
and sysdate between nvl (flv.start_date_active, sysdate)
and nvl (flv.end_date_active, sysdate + 1)
and flv.lookup_code = transNum
and flv.lookup_type = 'CUX_CNY_DICTIONARY'
and flv.view_application_id = 0
and flv.security_group_id = 0;
return l_meaning;
end translater;
begin
--checking input number throw exception
select decode(num, 0, 'x', num) into l_receive_number from dual;
l_number := trim(to_char(l_receive_number, '9999,9999,9999.99'));
l_num_length := length(l_number);
--linking number and unit
for numIndex in 1..l_num_length loop
l_cny := l_cny || (substr(l_number, numIndex, 1) || substr(l_unit, -(l_num_length-numIndex+1), 1));
end loop;
--replace symbol
select regexp_replace(l_cny, ',|\.', '') into l_cny from dual;
--insert UZ to 0J0F
select regexp_replace(l_cny, '(0J0F)', 'UZ') into l_cny from dual;
--insert U to xJxF
select regexp_replace(l_cny, '([0-9]J[0-9]F)', 'U\1') into l_cny from dual;
--replace more zero to blank
select regexp_replace(l_cny, '(0Q0B0S0GW)|(0Q0B0S0G)|(0B0S0G)|(0S0G)|(0G)|(G)|(0J)|(0F)', '') into l_cny from dual;
--replace more zero to zero
select regexp_replace(l_cny, '(0Q0B0S)|(0Q0B)|(0Q)|(0B)|(0S)', '0') into l_cny from dual;
--translation
for transIndex in 1..length(l_cny) loop
l_trans_cny := l_trans_cny || translater(substr(l_cny,transIndex, 1));
end loop;
return l_trans_cny;
exception when others
then
fnd_file.put_line (fnd_file.output, sqlcode);
fnd_file.put_line (fnd_file.output, sqlerrm);
end;
Step 3. Apply Function: CUX_CONVERT_CNY
select cux_convert_cny (183066999230.68) cny from dual;

select cux_convert_cny (999900000000) cny from dual;

|
Author |
若愚 |
|
Creation Date |
November 4, 2014 |
|
Last Updated |
November 4, 2014 |
|
Version |
V1411.2 |
ORACLE数字转换人民币大写的更多相关文章
- 数字转人民币大写(SQL SERVER)
--数字转人民币大写NumToRMB ---新建方法create FUNCTION dbo.NumToRMB (@num numeric(14,5)) RETURNS varchar(100) ...
- sql 数字转人民币大写函数(两种方法)
,)) returns @rmb table( 亿 ) ,仟万 ) ,佰万 ) ,拾万 ) ,万 ) ,仟 ) ,佰 ) ,拾 ) ,元 ) ,角 ) ,分 )) as begin insert in ...
- js将数字转换成大写的人民币表达式
function changeNumMoneyToChinese(money) { var cnNums = new Array("零", "壹", " ...
- C# 数字转换成大写
/// <summary> /// 数字转大写 /// </summary> /// <param name="Num">数字</para ...
- 【PHP】金额数字转换成大写形式
<?php /*将数字金额转成大写*/ function num_to_upper($num) { $d = array('零','壹','贰','叁','肆','伍','陆','柒','捌', ...
- 实现数字转换RMB大写~
实现的功能是将数字“673”转换成“陆佰柒拾叁” “3681”转换成“叁仟陆佰捌拾壹” “8007”转换成“捌仟零柒” 主要使用了数组和循环来实现 代码雏形 package com.te ...
- PHP实现金额数字转换成大写函数
<?php header("Content-Type:text/html;charset=utf-8"); function num_to_upper($num) { $d ...
- 一个用php写的人民币数字转人民币大写的函数
function num2rmb ($num) { $c1 = "零壹贰叁肆伍陆柒捌玖"; $c2 = "分角元拾佰仟万拾佰仟亿"; ...
- php数字转人民币金额大写
numToRmb.php <?php header("content-type:text/html;charset=utf-8"); function numToRmb($n ...
随机推荐
- cognos 10.2.2 搭建网关做负载均衡
最近要设计cognos服务器灾备模式,所以想到了cognos10自带的gateway负载均衡模式,搭建起来还是挺简洁的 设计背景: cognos主服务器:231 cognos灾备服务器:238 gat ...
- Object-C日志记录
在Object-C中,将日志信息输出到控制台是非常简单的.实际上NSLog()函数很像C语言里面的printf()函数,出了要用一个%@符号代表一个对象. NSLog(@"The curre ...
- iOS-scrollview及其子类适配iOS7
问题描述: 在iOS7之后如果在导航控制器中所属的字控制器中嵌入scrollview及其子类的视图,当scrollview的尺寸太小的话不会调用返回cell的方法.控制器的嵌套层级结构如下图所示,着重 ...
- .Net Framework 开发Http协议
一.Http的基本原理 1.HTTP协议的运作方式 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HTTP协议是基于请求/响应范式的.一个客户机与服务器建立连接后,发送一个请求 ...
- java新手笔记19 抽象类
1.Shap package com.yfs.javase; public class Shape /*extends Object */{ //默认继承object object方法全部继承 //计 ...
- spring mvc 笔记
springmvc 课堂笔记 1.Springmvc是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想, ...
- ORACLE数据库闪回日志写满
网站页面无法显示完整.检查web服务是正常的,所以可能是ORACLE数据库出了问题. 首先检查闪回日志写满 然后检查归档日志文件写满的缘故了.使用以下几个命令可以看出当前归档日志文件的使用情况: se ...
- PHP——图片上传
图片上传 Index.php文件代码: <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- Quartz 之 windowService
(一)创建服务 QuarzService using System.ServiceProcess;using System.Text; using Quartz;using Quartz.Impl; ...
- File控件杂谈
我们通常使用<input type='file'/>来实现网页中文件上传功能,用户可以通过点击file控件选择本地文件,当我们提交包含该控件的表单时,浏览器会向服务器发送用户选中的文件. ...