java中金额元转万元工具类的实例
我就废话不多说了,大家还是直接看代码吧~
publicstaticvoidmain(String[]args){ //具体的金额(单位元) Stringvalue="88000067898"; BigDecimalbigDecimal=newBigDecimal(value); //转换为万元(除以10000) BigDecimaldecimal=bigDecimal.divide(newBigDecimal("10000")); //保留两位小数 DecimalFormatformater=newDecimalFormat("0"); //四舍五入 formater.setRoundingMode(RoundingMode.HALF_UP); //格式化完成之后得出结果 StringformatNum=formater.format(decimal); System.out.println(formatNum); } /**元转万元且四舍五入取整*/ publicstaticStringgetNumberWan(Stringvalue){ BigDecimalbigDecimal=newBigDecimal(value); //转换为万元(除以10000) BigDecimaldecimal=bigDecimal.divide(newBigDecimal("10000")); //保留两位小数 DecimalFormatformater=newDecimalFormat("0"); //四舍五入 formater.setRoundingMode(RoundingMode.HALF_UP); //格式化完成之后得出结果 Stringrs=formater.format(decimal); returnrs; } /**元转万元且保留两位小数并四舍五入*/ publicstaticStringgetNumberWanTwo(Stringvalue){ BigDecimalbigDecimal=newBigDecimal(value); //转换为万元(除以10000) BigDecimaldecimal=bigDecimal.divide(newBigDecimal("10000")); //保留两位小数 DecimalFormatformater=newDecimalFormat("0"); //四舍五入 formater.setRoundingMode(RoundingMode.HALF_UP); //格式化完成之后得出结果 Stringrs=formater.format(decimal); returnrs; }
补充:用java实现将金额由数字转为中文的数字金额
写一个金额由数字转为中文的数字金额
例如:
123123.12转为壹拾贰万叁仟壹佰贰拾叁元壹角贰分
由于是从开发过程中代码直接copy过来的,有一部分可以忽略,新人刚刚工作,写的不好,请多指正
importjava.util.Scanner; publicclassTest{ //数字单位 privatestaticfinalString[]NUMBERS_UNITS={"拾","佰","仟","万"}; publicstaticvoidmain(String[]args){ Testst=newTest(); Scannerscanner=newScanner(System.in); System.out.println("请输入金额:"); //获取前端传递过来的金额数字 Stringmoney=scanner.nextLine(); //1.判断是否为null st.isNull(money); //2.判断是否有非法字符 st.isIllegal(money); //3.判断是否超过限额 String[]array=st.isBeyondMax(money); //4.整数位字符转换 StringBufferchineseInt=st.convertInt(array[0]); //5.判断有无小数位 if(array.length==2){ //6.有则进行小数位字符转换 StringBufferchineseDec=st.convertDec(array[1]); //7.拼接整数和小数位 chineseInt=chineseInt.append(chineseDec); } //8.将转为大写的金额设置回总线 System.out.println(chineseInt); } /** *将小数位的金额数字转化为中文大写 *@paramstring金额数字 *@return转为中文的金额数字 */ privateStringBufferconvertDec(Stringstring){ StringBufferstr=convert(string); switch(str.length()){ case1: str.append("角"); break; case2: str.append("分"); str.insert(1,"角"); break; } returnstr; } /** *将整数位的金额数字对应转化为中文大写 *@paramstring金额数字 *@return转为中文的金额数字 */ privateStringBufferconvertInt(Stringstring){ StringBufferstr=convert(string); intlength=str.length()-1; for(inti=0,j=str.length()-1;i9||(array.length>1&&array[1].length()>2)){ //抛出异常 } returnarray; } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。