4&" />
搜档网
当前位置:搜档网 › 数字转换成大写人民币(银行票据)

数字转换成大写人民币(银行票据)

import java.util.Scanner;

public class Zhuanhuan
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个数字:");
String s=sc.nextLine();
int n=s.length();
if(n<=4) //输入的是在千位以内
{
process(s);
}
else if(n>4 && n<=8) //输入的是千万位以内
{
String s1=s.substring(0,n-4); //将万位部分截取
process(s1);
System.out.print("万");
String s2=s.substring(n-4); //将后四位截取
process(s2);
}
else if(n>8 && n<=12)
{
String s1=s.substring(0,n-8); //将亿位部分提取
process(s1);
System.out.print("亿");
String s2=s.substring(n-8,n-4); //提取万位部分
process(s2);
//如果万位全是0,则不输出“万”字
int flag=0;
for(int i=0;i{
char ch=s2.charAt(i);
if(ch!='0') //有1-9的数字
{
flag=1;
break;
}
}
if(flag!=0)
System.out.print("万");
//结束
String s3=s.substring(n-4); //再截取后四位
process(s3);
}
System.out.print("元");
}
public static void process(String s)
{
String daxie=""; //大写的形式
String weizhi=""; //保存位置
int n=s.length();
for(int i=0;i{
char ch=s.charAt(i); //当前的位置字符
char next=s.charAt(i+1); //下一个字符
if(ch=='0' && next=='0')
{
continue;
}
switch(ch)
{
case '0':daxie="零"; break;
case '1':daxie="壹"; break;
case '2':daxie="贰"; break;
case '3':daxie="叁"; break;
case '4':daxie="肆"; break;
case '5':daxie="伍"; break;
case '6':daxie="陆"; break;
case '7':daxie="柒"; break;
case '8':daxie="捌"; break;
case '9':daxie="玖"; break;
}
System.out.print(daxie);
if(ch=='0')
continue;
switch(n-i)
{
case 2:weizhi="拾";break;
case 3:weizhi="佰";break;
case 4:weizhi="仟";break;
}
System.out.print(weizhi);
}
char ch=s.charAt(s.length()-1); //最后一位数字
switch(ch)
{
case '1':daxie="壹"; break;
case '2':daxie="贰"; break;
case '3':daxie="叁"; break;
case '4':daxie="肆"; break;
case '5':daxie="伍"; break;
case '6':daxie="陆"; break;
case '7':daxie="柒"; break;
case '8':daxie="捌"; break;
case '9':daxie="玖"; break;
default:daxie="";break;
}
System.out.print(daxie);
}
}

相关主题