|
发表于 2020-5-24 17:00:01
|
显示全部楼层
import java.util.Scanner;
public class NumToChinese {
public static void ToChinese(Long num) {
String n[] = {"零","壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
String unit[] = { "", "拾" , "佰","仟"};
String unit1[] = { "亿", "万" };
StringBuilder chi = new StringBuilder();
for (int i = 0; i < num.toString().length(); i++) {
chi.append(n[Integer.parseInt(String.valueOf(num.toString().charAt(i)))]);
chi.append(unit[(num.toString().length()-i-1) % 4]);
if ((num.toString().length()-i) % 4 == 1)
{
chi.append(unit1[(int) Math.floor((double) (num.toString().length()-i) / 4) % 2]);
}
}
String ch = chi.toString();
ch = ch.replaceAll("零仟", "零");
ch = ch.replaceAll("零佰", "零");
ch = ch.replaceAll("零拾", "零");
while(ch.indexOf("零零")>0)
{
ch = ch.replaceAll("零零", "零");
}
ch = ch.replaceAll("零万", "万");
ch = ch.replaceAll("零亿", "亿");
ch = ch.replaceAll("亿万", "亿");
System.out.println(ch.substring(0, ch.length()-1));
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(true)
{
long num = in.nextLong();
if(num==0)
{
System.exit(0);
}
ToChinese(new Long(num));
}
}
} |
|