java 阿拉伯数字与汉字互转

qq_33383137 2016-02-02 10:22:11
我看网上大部分是不带小数点的,如果有小数点怎么转?比如1245.36和九千六百八十八点五三一。求大神赐一份代码。谢谢了!
...全文
484 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_20513405 2016-02-02
  • 打赏
  • 举报
回复
帮你写了其中一个 public class Test1 { public String[] hanziArr = new String[]{"个", "十", "百", "千", "万", "十", "百", "千", "亿"}; public String[] numberArr = new String[]{"零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "点"}; public static void main(String[] args) { String str1 = "112015065.3306"; String str2 = "九千六百八十八点五三一"; Test1 t = new Test1(); String s = t.toHanzi(str1); System.out.println(s); } public String toHanzi(String s) { StringBuilder result = new StringBuilder(); int pointIndex = s.indexOf("."); String integer; String decimal = null; if (-1 == pointIndex) { integer = s; } else { integer = s.substring(0, pointIndex); decimal = s.substring(pointIndex + 1); } for (int i = 0; i < integer.length(); i++) { char c = integer.charAt(i); if (c == '0') { result.append(numberArr[0]); } else { result.append(numberArr[Integer.parseInt(String.valueOf(c))]); if (i != integer.length() - 1) result.append(hanziArr[integer.length() - 1 - i]); } } if (null != decimal) { result.append(numberArr[11]); } for (int i = 0; i < decimal.length(); i++) { char c = decimal.charAt(i); result.append(numberArr[Integer.parseInt(String.valueOf(c))]); } return result.toString(); } }
心随自在飞 2016-02-02
  • 打赏
  • 举报
回复
那你自己再拿代码改下就差不多了吧!

50,531

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧