您当前位置:主页 > 资讯攻略 >
来源:未知
2022-05-03 07:22:10 浏览: 分类:资讯攻略

详解Oracle中数字与大写交换

数字的大小写转换也是有一定中国特色的东西。但是在财务报表中,我们仍然需要有这样的功能。今天,我写了一个将数字量转换成资本的函数。

功能:将任意长度的数字量转换为大写。当最低位是圆或角时,加“整”;是“分”的时候不加“整”。

注意:小数点后保留两位。超过两位数的部分被截断。

代码:

PL/SQL代码 CreateOrReplaceFunctionMoney2Chinese(MoneyInNumber)ReturnVarchar2IsstrYuanVarchar2(150); strYuanFenVarchar2(152); numLenYuanNumber; numLenYuanFenNumber; strRstYuanVarchar2(600); strRstFenVarchar2(200); strRstVarchar2(800); TypetypeTabMappingIsTableOfVarchar2(2)IndexByBinary_Integer; tabNumMappingtypeTabMapping; tabUnitMappingtypeTabMapping; numUnitIndexNumber; iNumber; jNumber; charCurrentNumChar(1); BeginIfMoneyIsNullThenReturnNull; EndIf; strYuan:=TO_CHAR(FLOOR(Money)); IfstrYuan='0'ThennumLenYuan:=0; strYuanFen:=lpad(TO_CHAR(FLOOR(Money*100)),2,'0'); ElsenumLenYuan:=length(strYuan); strYuanFen:=TO_CHAR(FLOOR(Money*100)); EndIf; IfstrYuanFen='0'ThennumLenYuanFen:=0; ElsenumLenYuanFen:=length(strYuanFen); EndIf; IfnumLenYuan=0OrnumLenYuanFen=0ThenstrRst:='零圆整'; ReturnstrRst; EndIf; tabNumMapping(0):='零'; tabNumMapping(1):='壹'; tabNumMapping(2):='贰'; tabNumMapping(3):='叁'; tabNumMapping(4):='肆'; tabNumMapping(5):='伍'; tabNumMapping(6):='陆'; tabNumMapping(7):='柒'; tabNumMapping(8):='捌'; tabNumMapping(9):=关键词标签:Oracle

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227221.html

攻略资讯
安卓软件