中文數字轉換
- 處理各種數值轉換中文的需求,如中文大小寫、是否處理十百千萬等單位、語音輸出用途…等。
- 目前轉換範圍為LONG型別的整數值。
ChineseNumberType
摘要 | Enum 名稱 | 說明 |
---|---|---|
直接轉 | DirectFull | 不處理十百千等位數文字。 |
直接轉 | DirectSimple | 不處理十百千等位數文字。 |
直接轉 | DirectNumber | 不處理十百千等位數文字。 |
遇 0 使用全形0 | MixedTrans | 不處理十百千等位數文字 |
民國百年以後用0 | MixedForROCYear | 適用於民國年份的特殊邏輯 |
金額 | Money | 遇 0 不會跳過位數的中文大寫轉換 |
中文大寫 | Full | 零壹貳參肆伍陸柒捌玖/拾佰仟 |
中文小寫 | Simple | 零一二三四五六七八九/十百千 |
口語 | Spoken | 20=二十、200=兩百、2000=兩千 |
UdeChineseNumberUtils
UdeChineseNumberUtils 工具類別配合ChineseNumberType,可執行數值轉換中文格式。 但若輸入 ChineseNumberType 為 NULL,就是直接轉字串。
// 格式化 Long 數值
format(ChineseNumberType, long number)
// 將輸入阿拉伯數字字串轉為 long type 後,再做中文格式化
format(ChineseNumberType, String numberString)
format(ChineseNumberType, String numberString, int radix)
未來考慮增加功能
可以增加用於金額小數位的角分處理、或其它財會上的特殊用法,但必須有相關 Domain 提供需求細節。