`

人民币大小写转换function

F# 
阅读更多
create or replace function F_upper_money(p_num in number default null)
return nvarchar2 is

Result nvarchar2(100);
num_round nvarchar2(100) :=to_char(abs(round(p_num,2)));
num_left nvarchar2(100);
num_right nvarchar2(2);
str1 nchar(10) :='零壹贰叁肆伍陆柒捌玖';
str2 nchar(16) :='元拾佰仟万拾佰仟亿拾佰仟万拾佰仟';
num_pre number(1):=1;
num_current number(1);
num_count number:=0;

begin
if p_num is null then return null;end if;

select to_char(
nvl(substr(to_char(num_round),1,
decode(instr(to_char(num_round),'.'),0,
length(num_round),instr(to_char(num_round),'.')-1)),
0)) into num_left from dual;
select substr(to_char(num_round),
decode(instr(to_char(num_round),'.'),0,
length(num_round)+1,instr(to_char(num_round),'.')+1),2)
into num_right from dual;

if length(num_left)>16 then return '**********'; end if;

if length(num_right)=2 then
if to_number(substr(num_right,1,1))=0 then
result:='零'||substr(str1,to_number(substr(num_right,2,1))+1,1)||'分';
else
result:=substr(str1,to_number(substr(num_right,1,1))+1,1)||'角'||
substr(str1,to_number(substr(num_right,2,1))+1,1)||'分';
end if;
elsif length(num_right)=1 then
result:=substr(str1,to_number(substr(num_right,1,1))+1,1)||'角整';
else
result :='整';
end if;

for i in reverse 1..length(num_left) loop
num_count:=num_count+1;
num_current:=to_number(substr(num_left,i,1));
if num_current>0 then
result:=substr(str1,num_current+1,1)||substr(str2,num_count,1)||result;
else
if mod(num_count-1,4)=0 then
result:=substr(str2,num_count,1)||result;
num_pre:=0;
end if;
if num_pre>0 or length(num_left)=1 then
result:=substr(str1,num_current+1,1)||result;
end if;
end if;
num_pre:=num_current;
end loop;

if p_num<0 then
result:='负'||result;
end if;

return Result;

exception
when others then
raise_application_error(-20001,'数字转换大写出现错误!'||sqlerrm);
end ;
分享到:
评论

相关推荐

    JS人民币转换大小写人民币大小写转换

    在JavaScript(JS)编程中,有时我们需要将数字格式的人民币金额转换为中文大写的表示方式,这在财务系统或者电商平台上十分常见。人民币大写转换主要用于财务报表、发票和银行单据,确保金额的准确性和规范化。下面...

    人民币大小写转换,这是个delphi源代码..rar

    本主题涉及的是在Delphi中实现人民币大小写的转换功能。在金融和会计领域,正确地将数字金额转换为大写汉字是至关重要的,因为这有助于避免因数字输入错误而引发的财务纠纷。下面我们将深入探讨如何在Delphi中实现这...

    delphi人民币大小写转换

    ### 一、人民币大小写转换功能概述 #### 1. 功能简介 在Delphi开发环境中,通过编写特定的函数可以实现将数字形式的人民币金额转换为中文大写或小写格式的功能。这种功能常用于财务系统、发票打印等应用场景,尤其...

    人民币金额大小写转换控件

    人民币金额大小写转换控件V1.01 控件新增属性: property smallmoney :real;; //小写金额大小 property bigmoney1:string;; //大写金额,符合常规金额规则 property bigmoney2:string;; //大写金额二 函数...

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

    根据提供的信息,我们可以详细解析与人民币金额大小写转换相关的Delphi函数实现,主要涉及两个核心函数:`NtoC` 和 `NumToChar`。 ### 1. 函数 NtoC 的实现 #### 1.1 函数简介 `NtoC` 函数用于将数字(Extended ...

    大小写金额转换-源码

    如¥1,680.32,应写成 人民币壹仟陆佰捌拾元零叁角贰分,或者写成人民币壹仟陆佰捌拾元 叁角贰分;又如¥107,000.53,应写成人民币壹拾万柒仟元零伍角 叁分,或者写成人民币壹拾万零柒仟元伍角叁分。 (四)...

    js动态添加列和自动计算人民币大小写

    动态添加列涉及到DOM操作,而人民币大小写的转换则是处理金融数据本地化的一部分。 首先,我们来详细探讨动态添加列。在网页表格(如HTML的`&lt;table&gt;`元素)中,可能需要根据用户操作或特定业务逻辑动态地增加或减少...

    PHP 实现人民币小写转换成大写的方法及大小写转换函数

    下面一段代码给大家分享php实现人民币大小写转换的方法,具体代码如下所示: &lt;?php header(charset=utf-8;); function numTrmb($num){ $d = array(零, 壹, 贰, 叁, 肆, 伍, 陆, 柒, 捌, 玖); $e = array('元'...

    人民币金额小写转大写

    首先,我们需要理解人民币金额的大小写规则。小写金额通常用阿拉伯数字表示,如123456.78元。而大写金额则使用汉字,例如“壹拾贰万叁仟肆佰伍拾陆元柒角捌分”。大写的每个数字对应有特定的汉字,具体对应如下: 1...

    python人民币小写转大写辅助工具

    本文实例为大家分享了python人民币大小写转换的具体代码,供大家参考,具体内容如下 大家应该都知道,银行打印账单有时候会跟上人民币的阿拉伯数字以及人民币汉字大写写法,转换的过程中有一定的逻辑难度,较为麻烦...

    mysql函数,将数字金额转成人民币大写

    在MySQL数据库中,有时我们需要将数字金额转换成人民币的大写形式,这在财务报表或会计系统中非常常见。为了实现这一需求,我们可以自定义一个函数或者利用现有的字符串处理函数。以下是一个关于如何在MySQL中实现这...

    pb-demo-helper-function-settings.rar_pb_pb demo_pb api demo_pb

    辅助程序功能设计 实例32 使用API函数实现辅助...实例35 人民币大小写金额的转换 实例36 数据的压缩和解压缩 实例37 图像扫描实现 实例38 Flash动画的应用 实例39 键盘模拟器的实现 实例40 AresButtonPro控件的使用

    我整理的VBA 自定义函数大全 共138页

    23.人民币大小写转换 24.获取区域颜色值 25.获取活动工作表名 26.获取最后一行行数 27.判断是否连接在线 28.币种转换 29.检验工作表是否有可打印内容 30.查找一字符串(withinstr)在另一字符串中(findstr1)中某一次...

    vue实现简单实时汇率计算功能

    在这个示例中,我们将创建一个基础的HTML结构,并结合Vue的特性来实时计算三种货币(人民币CNY、美元USD和港币HKD)之间的转换值。 首先,我们需要设置HTML结构,这里创建了三个`moneyBox`元素,分别用于显示和输入...

    详解Angular的内置过滤器和自定义过滤器【推荐】

    3. **大小写转换过滤器(uppercase, lowercase)** `uppercase`和`lowercase`过滤器分别用于将字符串转换为大写和小写。例如,`{{value | uppercase}}`会将`value`转换为全大写形式。 4. **JSON格式化过滤器(json...

    EXCEL集成工具箱V6.0

    成本核算 【取唯一值】 还在使用&lt;分类汇总&gt;或&lt;小计&gt;功能对数据进行唯一值的繁锁操作吗? 本工具可快捷方便地取任意选中区域的存储格内容为唯一值清单,快捷且高效。 【取产品型号】 功能较在字符串中取数字强大多倍...

    EXCEL集成工具箱V8.0完整增强版(精简)

    【取唯一值】 还在使用&lt;分类汇总&gt;或&lt;小计&gt;功能对数据进行唯一值的繁锁操作吗? 本工具可快捷方便地取任意选中区域的存储格内容为唯一值清单,快捷且高效。 【取产品型号】 功能较在字符串中取数字强大多倍。能批量...

    vue自定义过滤器创建和使用方法详解

    - 在过滤器中,你可以根据业务需求对传入的数据进行任意处理,例如格式化数字、转换字符串大小写等。 - 如果需要在多个地方使用同一个数据处理逻辑,使用过滤器可以避免代码重复,提高代码复用性。 - 过滤器可以链式...

Global site tag (gtag.js) - Google Analytics