数字的大小写转换也是有一定中国特色的东西。但是在财务报表中,我们仍然需要有这样的功能。今天,我写了一个将数字量转换成资本的函数。
功能:将任意长度的数字量转换为大写。当最低位是圆或角时,加“整”;是“分”的时候不加“整”。
注意:小数点后保留两位。超过两位数的部分被截断。
代码:
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