1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java 数字转换中文_数字转换成中文 java实现

java 数字转换中文_数字转换成中文 java实现

时间:2020-03-16 20:45:52

相关推荐

java 数字转换中文_数字转换成中文 java实现

/**

*

* 主要思想,根据数字按四位划分为一级,第一级段位为个、十、百、千,第二级段位为万、亿、万亿。然后根据当前数所属位置来追加所属段数

*

*

* @author ZLi -9-12

*

*/

public class NumToChinese {

/**

* 第一级别段数

*/

final static String[] units1 = { "", "拾", "佰", "仟", };

/**

* 第二级别段数

*/

final static String[] units2 = { "", "万", "亿", "万亿" };

final static String[] numEnum = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒",

"捌", "玖" };

public static void main(String[] args) {

int num = 2134000123;

System.out.println(numToChinese(num));

}

public static String numToChinese(int num) {

char[] numChar = String.valueOf(num).toCharArray();

StringBuffer sb = new StringBuffer("");

int length = numChar.length;

for (int i = 0; i < length; i++) {

int mod = (length - 1 - i) % 4;

int n = Integer.parseInt(numChar[i] + "");

if (n == 0) {

if (i + 1 < length && numChar[i + 1] != '0' && mod != 0) {

sb.append(numEnum[0]);

}

} else {

sb.append(numEnum[n]).append(units1[mod]);

}

/**

* 补上第二级别段数

*/

if (mod == 0) {

sb.append(units2[(length - i) / 4]);

}

}

return sb.toString();

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。