微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java中金额元转万元工具类的实例

这篇文章主要介绍了java中金额元转万元工具类的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,大家还是直接看代码吧~

public static void main(String[] args) { // 具体的金额(单位元) String value = "88000067898"; BigDecimal bigDecimal = new BigDecimal(value); // 转换为万元(除以10000) BigDecimal decimal = bigDecimal.divide(new BigDecimal("10000")); // 保留两位小数 DecimalFormat formater = new DecimalFormat("0"); // 四舍五入 formater.setRoundingMode(RoundingMode.HALF_UP); // 格式化完成之后得出结果 String formatNum = formater.format(decimal); System.out.println(formatNum); } /**元转万元且四舍五入取整*/ public static String getNumberWan(String value) { BigDecimal bigDecimal = new BigDecimal(value); // 转换为万元(除以10000) BigDecimal decimal = bigDecimal.divide(new BigDecimal("10000")); // 保留两位小数 DecimalFormat formater = new DecimalFormat("0"); // 四舍五入 formater.setRoundingMode(RoundingMode.HALF_UP); // 格式化完成之后得出结果 String rs = formater.format(decimal); return rs; } /**元转万元且保留两位小数并四舍五入*/ public static String getNumberWanTwo(String value) { BigDecimal bigDecimal = new BigDecimal(value); // 转换为万元(除以10000) BigDecimal decimal = bigDecimal.divide(new BigDecimal("10000")); // 保留两位小数 DecimalFormat formater = new DecimalFormat("0"); // 四舍五入 formater.setRoundingMode(RoundingMode.HALF_UP); // 格式化完成之后得出结果 String rs = formater.format(decimal); return rs; }

补充:用java实现将金额由数字转为中文的数字金额

一个金额由数字转为中文的数字金额

例如:

123123.12转为壹拾贰万叁仟壹佰贰拾叁元壹角贰分

由于是从开发过程中代码直接copy过来的,有一部分可以忽略,新人刚刚工作,写的不好,请多指正

import java.util.Scanner; public class Test { //数字单位 private static final String[] NUMBERS_UNITS= {"拾","佰","仟","万"}; public static void main(String[] args) { Test st=new test(); Scanner scanner=new Scanner(system.in); System.out.println("请输入金额:"); //获取前端传递过来的金额数字 String money=scanner.nextLine(); //1.判断是否为null st.isNull(money); //2.判断是否有非法字符 st.isIllegal(money); //3.判断是否超过限额 String[] array=st.isBeyondMax(money); //4.整数位字符转换 StringBuffer chineseInt=st.convertInt(array[0]); //5.判断有无小数位 if(array.length==2) { //6.有则进行小数位字符转换 StringBuffer chineseDec=st.convertDec(array[1]); //7.拼接整数和小数位 chineseInt=chineseInt.append(chineseDec); } //8.将转为大写的金额设置回总线 System.out.println(chineseInt); } /** * 将小数位的金额数字转化为中文大写 * @param string 金额数字 * @return 转为中文的金额数字 */ private StringBuffer convertDec(String string) { StringBuffer str=convert(string); switch(str.length()) { case 1: str.append("角"); break; case 2: str.append("分"); str.insert(1, "角"); break; } return str; } /** * 将整数位的金额数字对应转化为中文大写 * @param string 金额数字 * @return 转为中文的金额数字 */ private StringBuffer convertInt(String string) { StringBuffer str=convert(string); int length=str.length()-1; for (int i = 0,j=str.length()-1; i 9 || (array.length>1 &&array[1].length()>2)) { //抛出异常 } return array; } }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐