主要實作金額與漢字大小寫的轉換 金額轉換,阿拉伯數字的金額轉換成中國傳統的形式如:(¥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();
}
}
/***
* 運作結果顯示:
* 壹億叁仟伍佰陸拾捌萬玖仟壹佰貳拾叁元
*/