時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)
對于數(shù)字大小寫的轉(zhuǎn)換,也是有一定中國特色的東西。但是在賬務(wù)報(bào)表中,我們還是需要有這樣的功能的。今天寫了一個(gè)將數(shù)字金額轉(zhuǎn)化為大寫的函數(shù)。
功能:將任意長度的數(shù)字金額轉(zhuǎn)化為大寫。最低位為圓或角時(shí),后面加"整";為"分"時(shí)不加"整"。
說明:小數(shù)點(diǎn)后保留兩位。超過兩位的部分被截?cái)唷?/p>
代碼:
- PL/SQL?代碼 ?
- Create?Or?Replace?Function?Money2Chinese(Money?In?Number)?Return?Varchar2?Is?
- ??strYuan?Varchar2(150); ?
- ??strYuanFen????Varchar2(152); ?
- ??numLenYuan????Number; ?
- ??numLenYuanFen?Number; ?
- ??strRstYuan????Varchar2(600); ?
- ??strRstFen?????Varchar2(200); ?
- ??strRst??Varchar2(800); ?
- ??Type?typeTabMapping?Is?Table?Of?Varchar2(2)?Index?By?Binary_Integer; ?
- ??tabNumMapping??typeTabMapping; ?
- ??tabUnitMapping?typeTabMapping; ?
- ??numUnitIndex???Number; ?
- ??i??Number; ?
- ??j??Number; ?
- ??charCurrentNum?Char(1); ?
- Begin?
- ??If?Money?Is?Null?Then?
- ????Return?Null; ?
- ??End?If; ?
- ??strYuan?:=?TO_CHAR(FLOOR(Money)); ?
- ??If?strYuan?=?'0'?Then?
- ????numLenYuan?:=?0; ?
- ????strYuanFen?:=?lpad(TO_CHAR(FLOOR(Money?*?100)),?2,?'0'); ?
- ??Else?
- ????numLenYuan?:=?length(strYuan); ?
- ????strYuanFen?:=?TO_CHAR(FLOOR(Money?*?100)); ?
- ??End?If; ?
- ??If?strYuanFen?=?'0'?Then?
- ????numLenYuanFen?:=?0; ?
- ??Else?
- ????numLenYuanFen?:=?length(strYuanFen); ?
- ??End?If; ?
- ??If?numLenYuan?=?0?Or?numLenYuanFen?=?0?Then?
- ????strRst?:=?'零圓整'; ?
- ????Return?strRst; ?
- ??End?If; ?
- ??tabNumMapping(0)?:=?'零'; ?
- ??tabNumMapping(1)?:=?'壹'; ?
- ??tabNumMapping(2)?:=?'貳'; ?
- ??tabNumMapping(3)?:=?'叁'; ?
- ??tabNumMapping(4)?:=?'肆'; ?
- ??tabNumMapping(5)?:=?'伍'; ?
- ??tabNumMapping(6)?:=?'陸'; ?
- ??tabNumMapping(7)?:=?'柒'; ?
- ??tabNumMapping(8)?:=?'捌'; ?
- ??tabNumMapping(9)?:=?
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法