package test4;
import java.util.Scanner;
public class 数字转中文读法 {
public static void main(String[] args) {
while(true) {
Scanner sc = new Scanner(System.in);
double num = sc.nextDouble();
String s = change(num);
System.out.println(s);
}
}
private static String change(double num) {
String[] a = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
String[] b = {"十", "百", "千", "万"};
String[] d = {"角", "分"};
String c = "";
var zhengshu = (long) num;
var xiaoshu = Math.round((num - zhengshu) * 100);
String z = String.valueOf(zhengshu);//将整数部分转化为字符串
String x = String.valueOf(xiaoshu);//将小数部分转化为字符串
int len = z.length();
for (int i = 0; i < z.length(); i++) {//进行整数部分转换
var number = z.charAt(i) - 48;
if (number != 0 && len - 2 >= 0) {//对非零位数且非最后一位进行操作
c = c + a[number] + b[len - 2];
len--;
}
else if(number==0&&len-2>=0&&(z.charAt(i+1)-48)==0)//对为零位数进行操作
{
while(number==0&&len-2>=0)//判断后面是否为零,且不是最后一位
{
i++;
number = z.charAt(i) - 48;
len--;
}
if(i!=z.length()-1||(z.charAt(z.length()-1)-48)!=0) {//判断是否到最后一位,且最后一位是否为零
c = c + a[0];
i--;
}
}
else if(i==z.length()-1&&number==0) {//判断最后一位是否为0,如果为零不添加字符
c+="";
}
else{//最后一位不为0的情况
c = c + a[number];
len--;
}
}
c += "元";
for (int i = 0; i < x.length(); i++) {//对小数部分进行判断
var number = x.charAt(i) - 48;
if (x.length()==2) {
if (number == 0) {
c += "";
} else
c = c + a[number] + d[i];
}
else
{
if (number == 0) {
c += "";
}
else
c=c+a[number]+d[1];
}
}
return c;
}
}