收集这道题目原因是以前做过,但是实现的很麻烦,这次看到别人写的感觉简单易懂。

从一个pdf看到,出处就不贴了 = 。=

public class RenMingBi {

    private static final char[] data = new char[] { '零', '壹', '贰', '叁', '肆',
'伍', '陆', '柒', '捌', '玖' };
private static final char[] units = new char[] { '元', '拾', '佰', '仟', '万',
'拾', '佰', '仟', '亿','拾', '佰', '仟'}; // 简单那整数 int:-2147483648~2147483647
public static String convert(long money) {
StringBuffer sbf = new StringBuffer(40);
int unit = 0;
while (money != 0) {
sbf.insert(0,units[unit++]);
int number = (int) money % 10;
sbf.insert(0, data[number]);
money /= 10;
}
// System.out.println(sbf.toString());
return sbf.toString().replaceAll("零[拾佰仟]", "零").replaceAll("零+亿","亿").replaceAll("零+万", "万")
.replaceAll("零+元", "元").replaceAll("零+", "零").replaceAll("亿万", "亿");
}
//复杂带小数 long :-2^63 +2^63-1
public static String convert(double value) {
long midVal = (long) (value * 100);
String valStr = String.valueOf(midVal); // 转化成字符串
String rail = valStr.substring(valStr.length() - 2); // 取小数部分 long preint = (midVal / 100);
String prefix = convert(preint);
String suffix = "";
// 处理小数点后面的数
if (rail.equals("00")) {
suffix = "整";
} else {
suffix = data[rail.charAt(0) - '0'] + "角" + data[rail.charAt(1) - '0'] + "分";
}
return prefix + suffix; // 返回正确表示
} public static void main(String[] args) {
System.out.println(convert(2000000007));
System.out.println(convert(2000000007.211));
} }

最新文章

  1. iOS多线程实现3-GCD
  2. jquery 常用方法
  3. springboot 连接池wait_timeout超时设置
  4. js跳转页面方法大全
  5. 一本很不错的书----DOOM启示录
  6. loadView, viewDidLoad 快速使用
  7. ionicPopup弹出列表选择对话框
  8. php5.3 不支持 session_register() 此函数已启用的解决方法
  9. Oracle EBS-SQL (GL-3):从总帐追溯到发票
  10. poj 2375 Cow Ski Area bfs
  11. Django操作model时刻,一个错误:AttributeError:’ProgrammingError’ object has no attribute ‘__traceback__’
  12. C#开发学习——web服务器端控件
  13. SpringMVC之GET请求参数中文乱码
  14. springboot入门_helloworld
  15. 【BZOJ2693】jzptab
  16. Java输出流FileOutputStream使用详解
  17. 利用微软RD Client APP远程连接PC(附外网连接方法)
  18. Unity3D料槽设备旋转(一)
  19. CVE-2011-0762环境搭建与EXP利用
  20. 自己实现的ajax分页js

热门文章

  1. 关于Oracle将小于1的数字to_char后丢掉0的解决办法
  2. Java动态代理机制——Cglib
  3. 简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息
  4. codeforces 632C. The Smallest String Concatenation 排序
  5. MySQL学习系列一---命令行连接mysql和执行sql文件
  6. MD5 加密 以及 加盐加密
  7. MySQL 二进制日志过滤
  8. why-and-howto-calculate-your-events-per-second
  9. QR Code簡介、介紹
  10. 01-复杂度2. Maximum Subsequence Sum (25)