昆明java培训
达内昆明广州春城路

18487146383

热门课程

数字转中文,Java代码也可以很神奇

  • 时间:2016-07-29
  • 发布:昆明Java培训
  • 来源:达内新闻

今天达内Java培训的小编要教大家一组神奇的Java代码,这组代码可以将阿拉伯数字转换成中文的小写数字,也就是说将“12345”转换成“一二三四五”。屏幕前的你是不是也跟小编我一样好奇,到底是如何用Java代码实现这个转换的呢,赶快来看看吧。

public String NumToChinese(String num) {

String resultStr ="";

String numArr[] = {"零","一","二","三","四","五","六","七","八","九"};

String weightArr[] = {"十","百","千","万","十","百","千","亿" };

int numLength = num.length();

for (int i = -1; num.length() >0; i++) {

int j = Integer.parseInt(num.substring(num.length() -1));

String temp = numArr[j];

if (j !=0 && i != -1 || i %8 ==3 || i %8 ==7) {

if (numLength ==2 && num.substring(0,1).equals("1")) {

temp = weightArr[i %8];

}else {

temp += weightArr[i %8];

}

}

resultStr = temp + resultStr;

num = num.substring(0, num.length() -1);

}

// 去除后面连续的零零

while (resultStr.endsWith(numArr[0])) {

resultStr = resultStr.substring(0, resultStr.lastIndexOf(numArr[0]));

}

// 零零换成零

while (resultStr.indexOf(numArr[0] + numArr[0]) != -1) {

resultStr = resultStr.replaceAll(numArr[0] + numArr[0], numArr[0]);

}

// 将 零+某个单位 替换成 该单位 去掉单位前面的零

for (String weightStr : weightArr) {

resultStr = resultStr.replaceAll(numArr[0] + weightStr, weightStr);

}

// 一百一十

while (resultStr.endsWith(weightArr[0])) {

resultStr = resultStr.substring(0, resultStr.length() -1);

}

return resultStr;

}

Java就是这么神奇,这组神奇的代码你看懂了吗?想要学习更多Java相关知识,可以联系达内Java的培训老师,还有更多神奇的代码等你来学习。

上一篇:Java代码之猜颜色游戏
下一篇:如何用Java代码实现多种字体

昆明达内Java培训带你了解机器学习

中美it行业数据大pk

昆明达内java培训的面试问题你都掌握了吗

机器学习领域需要掌握什么

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货