Current location - Plastic Surgery and Aesthetics Network - Plastic surgery and beauty - Find the effective number to convert Chinese characters into uppercase JAVA source code
Find the effective number to convert Chinese characters into uppercase JAVA source code
Bao com.heyang;

/**

* Convert Arabic numerals within 10 billion into capitalized Chinese characters.

* @ Author Xi Zhenyin

*

*/

Public class CnUpperCaser {

//Integer part

Private string integerPart

//Fractional part

Private string floatPart

//Convert the number into an array of Chinese characters, which is set to static because it needs to be used in every instance.

Private static final char [] cnnumbers = {'zero',' one',' two',' three',' four',' five',' ground',' seven',' eight',' nine'};

//An array for hierarchical transformation, which is set to static because it is needed by every instance.

Private static final char [] series = {'yuan',' pick',' hundred',' thousand',' ten thousand',' pick',' hundred',' thousand',' hundred million'};

/**

* constructor, through which a string in Arabic numeral form is passed in.

* @param original

*/

Public CnUpperCaser (original string)

//member variable initialization

integerPart =

floatPart =

if(original.contains(" . ")){

//If decimal point is included

int dotIndex=original.indexOf(" . ");

integer part = original . substring(0,dot index);

float part = original . substring(dot index+ 1);

}

Otherwise {

//Does not contain decimal points.

integerPart = original

}

}

/**

* Get uppercase strings.

* @ Return

*/

Common string getCnString(){

//use StringBuffer because it is accumulation.

string buffer sb = new string buffer();

//integer part processing

for(int I = 0; I< integer part. length (); i++){

int number = get number(integer part . charat(I));

sb . append(cn numbers[number]);

sb . append(series[integer part . length()- 1-I]);

}

//Decimal part processing

if(float part . length()& gt; 0){

Sb.append ("point");

for(int I = 0; I & ltfloat part. length (); i++){

int number = get number(float part . charat(I));

sb . append(cn numbers[number]);

}

}

//Returns the spliced string.

return sb . tostring();

}

/**

* Convert numbers in character form into plastic numbers.

* Static modification is used because all examples are used.

* @param c

* @ Return

*/

private static int get number(char c){

string str = string . value of(c);

Returns integer. parseint (str);

}

/**

* @param args

*/

Public static void main(String[] args) {

System.out.println (new cnuppercase ("123456789.12345"). get cnstring());

System.out.println (new cnupper case(" 123456789 "). get cnstring());

System.out.println (new cnupper case(". 123456789 "). get cnstring());

System.out.println (new cnupper case(" 0. 1234 "). get cnstring());

System.out.println (new cnupper case(" 1 ")). get cnstring());

System.out.println (new cnupper case(" 12 "). get cnstring());

System.out.println (new cnupper case(" 123 "). get cnstring());

System.out.println (new cnupper case(" 1234 "). get cnstring());

System.out.println (new cnupper case(" 12345 "). get cnstring());

System.out.println (new cnupper case(" 123456 "). get cnstring());

System.out.println (new cnupper case(" 1234567 "). get cnstring());

System.out.println (new cnupper case(" 12345678 "). get cnstring());

System.out.println (new cnupper case(" 123456789 "). get cnstring());

}

}