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

📄 stringtranscharsetname.java

📁 输入一个数字金额读为相应的中文大写金额方式
💻 JAVA
字号:
import java.io.IOException;


public class StringTransCharSetName {

	private static String[] unit = {"万亿","亿","万","仟","佰","拾"};
	
	public static void main(String args[])
	{
	  String[] a = {"15032400","3400","6500","109820098","150000000001"};
	  for(int i = 0 ; i < a.length ; i++)
	  {
		  int length = a[i].length() , j = 0 ;
		  int bytelength = getMode(length) ;
		  String[] b = new String[getMode(length)];
		  while(length >= 4 )
		  {
			 b[bytelength -j -1] =  a[i].substring(length - 4, length);
		     length = length -4 ;
		     j++;		     
		  }
		  if(length > 0)
		  {
			  b[0] = a[i].substring(0,length);
		  }	
		  StringBuffer buffer = new StringBuffer();
		  int origiallength = a[i].length() ;
		  for(int m = 0 ; m < b.length ; m++ )
		  {
			  if( origiallength > 12)
			  {
				  if(!b[m].equals("0000"))
				  {
					  buffer.append(readNumber(b[m]).append(unit[0]));
				  }
				  else
				  {
					  buffer.append(readNumber(b[m]));
				  }				  
				  origiallength = origiallength -4 ;
			  }
			  else if(origiallength > 8)
			  {
				  if(!b[m].equals("0000"))
				  {
					  buffer.append(readNumber(b[m]).append(unit[1]));
				  }
				  else
				  {
					  buffer.append(readNumber(b[m]));
				  }	
				  origiallength = origiallength -4 ;
			  }
			  else if(origiallength > 4)
			  {
				  if(!b[m].equals("0000"))
				  {
					  buffer.append(readNumber(b[m]).append(unit[2]));
				  }
				  else
				  {
					  buffer.append(readNumber(b[m]));
				  }	
				  origiallength = origiallength -4 ;
			  }	
			  else
			  {
				  buffer.append(readNumber(b[m]));
			  }
		  }
		  try {
				System.out.write(buffer.toString().getBytes());
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}		  
		  System.out.println("");
	  }
	  
	}
	
	public static int  getMode(int length)
	{		
		return (length %4) == 0? length /4: length /4 + 1 ;
	}
	
	public static String  NumbertoChinese(int i)
	{
		String str = "" ;
		switch(i)
		{
			case 0 :  str = "零" ; break;		
			case 1 :  str = "壹" ; break;	
			case 2 :  str = "贰" ; break;	
			case 3 :  str = "叁" ; break;	
			case 4 :  str = "肆" ; break;	
			case 5 :  str = "伍" ; break;	
			case 6 :  str = "陆" ; break;	
			case 7 :  str = "柒" ; break;	
			case 8 :  str = "捌" ; break;	
			case 9 :  str = "玖" ; break;	
			default :
				str = "格式错误" ;  break;
		}
		return str ;
	}
	
	public static StringBuffer readNumber(String str)
	{
		StringBuffer strbuffer = new StringBuffer();
		strbuffer.append("");

		for(int i = 0 ; i < str.length() ; i++)
		{
			int number = Integer.valueOf(str.substring(i, i+1));
			if(number == 0)
			{
				continue ;
			}
			else
			{
				if(i > 0 )
				{
					int num = Integer.valueOf(str.substring(i-1, i));
					if(num == 0 )
					{
						strbuffer.append(NumbertoChinese(num));
					}
				}
				strbuffer.append(NumbertoChinese(number));
				if(i != str.length() -1)
				{
					strbuffer.append(unit[i+3]);					
				}
			}
		}
		return strbuffer ;
	}
}

⌨️ 快捷键说明

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