Java实现阿拉伯数字转大写中文
生活随笔
收集整理的這篇文章主要介紹了
Java实现阿拉伯数字转大写中文
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java實現阿拉伯數字轉大寫中文
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;public class Demo {public static void main(String[] args) {double number = 2783.332;StringBuffer buffer = transformation(number);System.out.println(buffer);}private static StringBuffer transformation(Double number) {//定義大寫MapMap<Integer,String> map = new HashMap<>();map.put(0,"零");map.put(1,"壹");map.put(2,"貳");map.put(3,"叄");map.put(4,"肆");map.put(5,"伍");map.put(6,"陸");map.put(7,"柒");map.put(8,"捌");map.put(9,"玖");ArrayList<String> list = new ArrayList<>();char[] chars = String.valueOf(number).toCharArray();int whichNumber = 0;for (int i = 0; i < chars.length; i++) {//判斷是否小數點if (!String.valueOf(chars[i]).equals(".")){String value = map.get(Integer.valueOf(String.valueOf(chars[i])));list.add(value);}else {//當執行了到這里時就知道小數點在多少位了whichNumber = i+1;}}return splicing(list, whichNumber);}private static StringBuffer splicing(ArrayList<String> list,int whichNumber) {//定義每位數對應的范圍Map<Integer, String> mapValue= new HashMap<>();mapValue.put(1,"元");mapValue.put(2,"十");mapValue.put(3,"百");mapValue.put(4,"千");mapValue.put(5,"萬");mapValue.put(6,"十");mapValue.put(7,"百");mapValue.put(8,"千");mapValue.put(9,"億");mapValue.put(10,"十");mapValue.put(0,"角");mapValue.put(-1,"分");mapValue.put(-2,"哩");StringBuffer stringBuffer = new StringBuffer();for (String s : list) {//定義小數點的值,每減一次,map的key也會變小whichNumber --;if (whichNumber < 0) {stringBuffer = stringBuffer.append(s).append(mapValue.get(whichNumber));}else{stringBuffer.append(s).append(mapValue.get(whichNumber));}}return stringBuffer;} }總結
以上是生活随笔為你收集整理的Java实现阿拉伯数字转大写中文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN7运行命令大全
- 下一篇: 主存储器的基本组成