📄 stringtranscharsetname.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 + -