博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中数字转大写货币(支持到千亿)
阅读量:4065 次
发布时间:2019-05-25

本文共 2091 字,大约阅读时间需要 6 分钟。

public class MoneyToOther {
/** * 支持到千亿,超过千亿就报错了 * */ public static String changeToBig(double value){
char [] hunit = {'拾', '佰', '仟'}; //段内位置表示 char [] vunit = {'万', '亿'}; //段名表示 char [] digit = {'零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'}; //数字表示 long midVal = (long)(value * 100); //转化成整形 String valStr = String.valueOf(midVal); //转化成字符串 String head = valStr.substring(0, valStr.length() - 2); //取整数部分 String rail = valStr.substring(valStr.length() - 2); //取小数部分 String prefix = "" ; //整数部分转化的结果 String suffix = "" ; //小数部分转化的结果 //处理小数点后面的数 if(rail.equals("00")){ //如果小数部分为0 suffix = "整"; }else{
suffix = digit[rail.charAt( 0 ) - '0'] + "角" + digit[rail.charAt(1) - '0'] + "分" ; //否则把角分转化出来 } //处理小数点前面的数 char [] chDig = head.toCharArray(); //把整数部分转化成字符数组 char zero = '0'; //标志'0'表示出现过0 byte zeroSerNum = 0; //连续出现0的次数 for(int i = 0; i
0 && zeroSerNum < 4){
prefix += vunit[vidx - 1]; zero = '0'; } continue; } zeroSerNum = 0; //连续0次数清零 if (zero != '0') { //如果标志不为0,则加上,例如万,亿什么的 prefix += zero; zero = '0'; } prefix += digit[chDig[i] - '0']; //转化该数字表示 if (idx > 0) prefix += hunit[idx - 1]; if (idx == 0 && vidx > 0){
prefix += vunit[vidx - 1]; //段结束位置应该加上段名如万,亿 } } if (prefix.length() > 0) prefix += '元'; //如果整数部分存在,则有元的字样 return prefix + suffix; //返回正确表示 } /** * @param args */ public static void main(String[] args) {
String tmp = changeToBig(976662340912.23); System.out.println(tmp); tmp = changeToBig(2071234.00); System.out.println(tmp); tmp = changeToBig(100234.00); System.out.println(tmp); tmp = changeToBig(100000.00); System.out.println(tmp); tmp = changeToBig(10000000.00); System.out.println(tmp); }

转载地址:http://hhvji.baihongyu.com/

你可能感兴趣的文章
如何自定义iOS中的控件
查看>>
iOS 开发百问
查看>>
Mac环境下svn的使用
查看>>
github简单使用教程
查看>>
如何高效利用GitHub
查看>>
环境分支-git版本管理
查看>>
uni-app 全局变量
查看>>
js判断空对象的几种方法
查看>>
java 不用递归写tree
查看>>
springboot2 集成Hibernate JPA 用 声明式事物
查看>>
fhs-framework jetcache 缓存维护之自动清除缓存
查看>>
SpringBoot 动态编译 JAVA class 解决 jar in jar 的依赖问题
查看>>
fhs-framework springboot mybatis 解决表关联查询问题的关键方案-翻译服务
查看>>
ZUUL2 使用场景
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
elastic-job 和springboot 集成干货
查看>>
php开发微服务注册到eureka中(使用sidecar)
查看>>
mybatis mybatis plus mybatis jpa hibernate spring data jpa比较
查看>>
支付宝生活号服务号 用户信息获取 oauth2 登录对接 springboot java
查看>>
CodeForces #196(Div. 2) 337D Book of Evil (树形dp)
查看>>