Oracle數(shù)據(jù)庫(kù)調(diào)用java程序--人民幣數(shù)字轉(zhuǎn)大寫

JAVA Source

有的時(shí)候妻率,我們需要在Oracle的Prodedure乱顾、Function中調(diào)用JAVA代碼來(lái)實(shí)現(xiàn)功能,比方說(shuō)下面的這個(gè)例子走净,調(diào)用JAVA代碼來(lái)實(shí)現(xiàn)大小寫金額的轉(zhuǎn)換券时,如果這個(gè)代碼用PL實(shí)現(xiàn),難度還是有的,那如果我們先寫成JAVA代碼,然后通過(guò)調(diào)用弄唧,來(lái)實(shí)現(xiàn)澄干,還是可以的逛揩。

CREATE or replace and compile java source named js_translater  
AS  
package com.yzupope.util;  
/*  
* 人民幣大小寫金額轉(zhuǎn)化  
*/  
public class XhgUtil {  
  
  
  private static final String UNIT = "萬(wàn)千佰拾億千佰拾萬(wàn)千佰拾元角分";  
  
  
  private static final String DIGIT = "零壹貳叁肆伍陸柒捌玖";  
  
  
  private static final double MAX_VALUE = 9999999999999.99D;  
  
  
  public static String trans(double v) {  
    if (v < 0 || v > MAX_VALUE)  
      return "參數(shù)非法!";  
    long l = Math.round(v * 100);//round(double a):返回最接近參數(shù)的long(返回值為static long)  
      
    if (l == 0)  
      return "零元整";  
    String strValue = l + "";  
    // j用來(lái)控制單位  
    int j = UNIT.length() - strValue.length();  
    String rs = "";  
    boolean isZero = false;  
    // i用來(lái)控制數(shù)  
    for (int i = 0; i < strValue.length(); i++, j++) {  
      char ch = strValue.charAt(i);  
      if (ch == '0') {  
        isZero = true;  
        if (UNIT.charAt(j) == '億' || UNIT.charAt(j) == '萬(wàn)'  
            || UNIT.charAt(j) == '元') {  
          rs = rs + UNIT.charAt(j);  
          isZero = false;  
        }  
      } else {  
        if (isZero) {  
          rs = rs + "零";  
          isZero = false;  
        }  
        rs = rs + DIGIT.charAt(ch - '0') + UNIT.charAt(j);  
      }  
    }  
    if (!rs.endsWith("角") && !rs.endsWith("分")) {  
      rs = rs + "整";  
    }  
    rs = rs.replaceAll("億萬(wàn)", "億");  
    return rs;  
  }  
}  

創(chuàng)建引用

CREATE OR REPLACE FUNCTION xchg(v NUMBER) RETURN VARCHAR2  
AS  
LANGUAGE JAVA NAME 'com.yzupope.util.XhgUtil.trans(double)return java.lang.String'; 

函數(shù)調(diào)用

select xchg(105.91) FROM dual;  

Where are java classes stored in Oracle?(如何查看呢)

SELECT object_name, object_type, status, TIMESTAMP  
FROM   user_objects  
WHERE  (object_name NOT LIKE 'SYS_%' AND object_name NOT LIKE 'CREATE$%' AND  
       object_name NOT LIKE 'JAVA$%' AND object_name NOT LIKE 'LOADLOB%')  
       AND object_type LIKE 'JAVA %'  
ORDER  BY object_type, object_name;  

工具查看

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嘲碧,一起剝皮案震驚了整個(gè)濱河市愈涩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌已烤,老刑警劉巖妓羊,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剥哑,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡庭瑰,警方通過(guò)查閱死者的電腦和手機(jī)星持,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)弹灭,“玉大人督暂,你說(shuō)我怎么就攤上這事∏钏保” “怎么了逻翁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)捡鱼。 經(jīng)常有香客問(wèn)我八回,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任缠诅,我火速辦了婚禮溶浴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘管引。我一直安慰自己士败,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布褥伴。 她就那樣靜靜地躺著谅将,像睡著了一般。 火紅的嫁衣襯著肌膚如雪重慢。 梳的紋絲不亂的頭發(fā)上饥臂,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音似踱,去河邊找鬼隅熙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛屯援,可吹牛的內(nèi)容都是我干的猛们。 我是一名探鬼主播念脯,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼狞洋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了绿店?” 一聲冷哼從身側(cè)響起吉懊,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎假勿,沒(méi)想到半個(gè)月后借嗽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡转培,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年恶导,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浸须。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡惨寿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出删窒,到底是詐尸還是另有隱情裂垦,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布肌索,位于F島的核電站蕉拢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜晕换,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一午乓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闸准,春花似錦硅瞧、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至瘾英,卻和暖如春枣接,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缺谴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工但惶, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人湿蛔。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓膀曾,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親阳啥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子添谊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法察迟,內(nèi)部類的語(yǔ)法斩狱,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法扎瓶,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,581評(píng)論 18 399
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理所踊,服務(wù)發(fā)現(xiàn),斷路器概荷,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • 方案簡(jiǎn)介Toad――加速你的數(shù)據(jù)庫(kù)設(shè)計(jì)秕岛、開(kāi)發(fā)、測(cè)試和管理數(shù)據(jù)庫(kù)的優(yōu)異性能和高可用性源自于良好的數(shù)據(jù)庫(kù)設(shè)計(jì)误证,Ques...
    layjoy閱讀 6,485評(píng)論 1 14
  • 大人說(shuō)我喜歡頂嘴。我是否認(rèn)的改鲫。 頂嘴诈皿,顧名思義林束,就是說(shuō)別人說(shuō)一句,你抵一句回去稽亏。我認(rèn)為我不是這樣的壶冒。我不知道別...
    阿芙蓉_閱讀 379評(píng)論 0 0
  • 【美帝中介】轉(zhuǎn)讓抵押不過(guò)戶,13年雷克薩斯CT200截歉,抵押小貸胖腾!違章包,車況漂亮瘪松,關(guān)鍵省油咸作,3毛錢一公里,蘇戶無(wú)錫...
    青島美帝閱讀 151評(píng)論 0 0