天天看點

【JAVA工具類】金額與漢字大小寫的轉換 金額轉換

主要實作金額與漢字大小寫的轉換 金額轉換,阿拉伯數字的金額轉換成中國傳統的形式如:(¥1011)->(一 千零一拾一進制整)輸出。 去零的代碼:

/********************************************
 * 系統名稱:  
 * 子產品名稱: TODO
 * 軟體版權: 馬琳-君子自強,腳踏實地積累
 * 源程式名:MoneyConvert.java
 * 功能說明: 
 * 開發人員: 馬琳-君子自強,腳踏實地積累
 * 開發時間: 2019年5月8日 上午10:41:16
 * 稽核人員:
 * 相關文檔:
 * 修改記錄: 修改日期    修改人員    修改說明
 * v1.0.0.0 2019年5月8日-01 馬琳 TODO   
 *******************************************/

package com.web;

/**
 * 功能說明:主要實作金額與漢字大小寫的轉換 金額轉換,阿拉伯數字的金額轉換成中國傳統的形式如:(¥1011)->(一 千零一拾一進制整)輸出。 去零的代碼:
 * 
 * @date 2019年5月8日
 * @author 馬琳-君子自強,腳踏實地積累
 * @email [email protected]
 * 
 */
public class MoneyConvert {

  private static final char[] data = new char[] { '零', '壹', '貳', '叁', '肆','伍', '陸', '柒', '捌', '玖' };
  private static final char[] units = new char[] { '元', '拾', '佰', '仟', '萬','拾', '佰', '仟', '億' };

  public static void main(String[] args) {
    System.out.println(convert(135689123));

  }

  public static String convert(int money) {
    StringBuffer sbf = new StringBuffer();  //線程安全
    int unit = 0;
    while (money != 0) {
      sbf.insert(0, units[unit++]);//插入  char  位元組  然後synchronized  確定多線程安全
      int number = money % 10;
      sbf.insert(0, data[number]);
      money /= 10;
    }

    return sbf.toString();
  }
}
/***
 * 運作結果顯示:
 * 壹億叁仟伍佰陸拾捌萬玖仟壹佰貳拾叁元
 */      

繼續閱讀