⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 moneycn.java

📁 一些Java的小的应用程序
💻 JAVA
字号:
/**金额的中文大写方式:
 * 读入一个浮点值,将其转化为中文大写方式;
 * 如123.45转化为壹佰贰拾叁元肆角伍分;
 * (1)当金额为整数时 如123表示为壹佰贰拾叁元整;
 * (2)当金额中有连续的0时只需一个零如10005表示为壹万零伍元整;
 * (3)10的表示方式如110表示为壹佰壹拾元整,而10表示为拾元整。*/

public class Moneycn {
	private  static long dollars;
    private static int   cents;
public static  void main(String args[]){
	System.out.println("输入金额数目:");
	String money=SavitchIn.readLine();
	double amount=Double.parseDouble(money);
	set(amount);
	System.out.println("该金额转化为中文大写为:");
write();
} public static void set(double amount)
{if (amount < 0)
{System.out.println("错误:你输入了负数金额。");
    System.exit(0);}
else{long  allCents =Math.round(amount*100);
    dollars = allCents/100;
    cents =(int)( allCents%100);}}
public static void write(){
	inWords(dollars);
	if(cents!=0)inWords(cents);
	else System.out.println();
		
}
public static void inWords(int number){
	String[] s=new String[2];
	s[0]="角";s[1]="分";
	if(number<10)
		System.out.println(digitWord(number)+s[1]);
else if(number%10==0)
	System.out.println(digitWord(number/10)+s[0]);
else 
 System.out.println(digitWord(number/10)+s[0]+digitWord(number%10)+s[1]);
	}
public static void inWords(long number)
{String[] s=new String[14];
if(cents==0)s[0]="元整";
else s[0]="元";
s[1]="拾";s[2]="佰";s[3]="仟";
s[4]="万";s[5]="拾";
s[6]="佰";s[7]="仟";
s[8]="亿";s[9]="拾";
s[10]="佰";s[11]="仟";
s[12]="万";s[13]="亿";
long[] a=new long[15];
for(int i=1;i<=4;i++)
	a[i-1]=(long)Math.pow(10,i);
int i=0;int j=0;
int divisor = powerOfTen(number);
int n=divisor;
long next = number;
if(number==10)System.out.print(digitWord((int)number)+s[0]);
else  if(number%10==0){
	while(number%a[j]==0){
		
	}
}
else{
while(n>=1){n/=10;
 i++;
   }
    while (divisor >= 10)
    {i--;
     System.out.print(digitWord((int)(next/divisor)) + s[i]);
     next = next%divisor;
    divisor = divisor/10;
    }
    System.out.print(digitWord((int)(next/divisor))+ s[0]);}
}
/**
 Precondition: n >= 0. Returns the number of the form one
 followed by all zeros that is the same length as n.
*/
private static int powerOfTen(long n)
{ int result = 1;
    while(n >= 10)
    { result = result*10;
       n = n/10;
    }return result;
}
/**
 Precondition: 0 <= digit <= 9
 Returns the word for the argument digit.
*/
private static String digitWord(int digit)
{ String result = null;
   switch (digit)
   {case 0:result = "零";break;
    case 1:result = "壹";break;
    case 2:result = "贰";break;
    case 3:result = "叁";break;
    case 4:result = "肆";break;
    case 5:result = "伍";break;
    case 6:result = "陆";break;
    case 7:result = "柒";break;
    case 8:result = "捌";break;
    case 9:result = "玖";break;
    case 10:result="拾";break;
    default:System.out.println("错误.");
            System.exit(0);break;
    }
    return result;
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -