java30位数字字符转金额

Python020

java30位数字字符转金额,第1张

java30位数字字符转金额

步骤如下

1、进行输入操作,并进行判断是否超过七位数或者输入的数为负数,或输入不合法的数。

while(true){

Scanner sc = new Scanner(System.out)

System.out.println("输入数字:")

number = sc.nextInt()

if(number >= 0 &&number <= 999999){

break

}else{

System.out.println("输入无效!")

}

}

复制

2、定义一个方法 getCapitalNumber 用来将数字转换为对应的大写

public static String getCapitalNumber(int number){

String[] str = {"零", "壹", "贰", "叁", "肆", "伍", "陆","柒","捌","玖"}

return str[number]

}

复制

3、数字转换为大写的过程

numberStr = ""

while(true){

ge = number % 10//取到输入金额的最后一位数字

String capitalNumber = getCapitalNumber(ge)//将金额的最后一位数字传入getCapitalNumber()方法中,转换为对应的大写

numberStr = capitalNumber + numberStr//转换为大写后的数字进行拼接

number = number / 10

//结束条件 --数字遍历完

if(number == 0){

break

}

}

复制

4、在转换为大写后,不足七位的要在前面补零,零的个数为 7- (输入金额的位数)。

int count = 7 - numberStr.length()

for(int i = 0i <counti++){

numberStr = "零" + numberStr

}

复制

5、将单位与对应的大写数字拼接

String result = ""

String[] arr = {"佰","拾","万","仟","佰","拾","元"}

for(int i = 0i <numberStri++){

char c = numberStr.charAt(i)

result = result + c + arr[i]

}

复制

6、放入完整的代码

DecimalFormat myformat = new DecimalFormat()

myformat.applyPattern("##,###.000")

System.out.println(myformat.format(11112345.12345))