/*
- Only the lowercase value of an integer can be converted to an uppercase value.
- */
- Class ChineseNumber
- {
- // Var $ basical = array (0 => "zero", "one", "two", "three", "four", "five", "six ", "7", "8", "9 ");
- Var $ basical = array (0 => "zero", "one", "two", "three", "si", "Wu", "Lu ", "Success", "fail", "fail ");
- // Var $ advanced = array (1 => "10", "hundreds", "thousands ");
- Var $ advanced = array (1 => "pick", "success", "success ");
- Var $ top = array (1 => ");
Var $ level; // level 4
// Convert the number first.
- Function small2big ($ number)
- {
- If ($ number> 999999999999) // it can only process hundreds of billions of records.
- Return "the number is too large to be processed. Sorry! ";
- If ($ number = 0)
- Return "zero ";
For ($ this-> level = 0; $ number> 0.0001; $ this-> level ++, $ number = floor ($ number/10000 ))
- {
- // For Chinese, it should be a group of four digits.
- // The four variables correspond to digits, and digits.
- $ N1 = substr ($ number,-1, 1 );
- If ($ number> 9)
- $ N2 = substr ($ number,-2, 1 );
- Else
- $ N2 = 0;
- If ($ number> 99)
- $ N3 = substr ($ number,-3, 1 );
- Else
- $ N3 = 0;
- If ($ number> 999)
- $ N4 = substr ($ number,-4, 1 );
- Else
- $ N4 = 0;
If ($ n4)
- $ Parsed [$ this-> level]. = $ this-> basical [$ n4]. $ this-> advanced [3];
- Else
- If ($ number/10000)> = 1) // if The kilobytes are 0 and the value is greater than 9999
- $ Parsed [$ this-> level]. = "zero ";
- If ($ n3)
- $ Parsed [$ this-> level]. = $ this-> basical [$ n3]. $ this-> advanced [2];
- Else
- If (! Ereg ("Zero $", $ parsed [$ this-> level]) & ($ number/1000)> = 1) // no two consecutive "zeros" appear
- $ Parsed [$ this-> level]. = "zero ";
- If ($ n2)
- $ Parsed [$ this-> level]. = $ this-> basical [$ n2]. $ this-> advanced [1];
- Else
- If (! Ereg ("Zero $", $ parsed [$ this-> level]) & ($ number/100)> = 1) // no two consecutive "zeros" appear
- $ Parsed [$ this-> level]. = "zero ";
- If ($ n1)
- $ Parsed [$ this-> level]. = $ this-> basical [$ n1];
- }
- For ($ this-> level-= 1; $ this-> level> = 0; $ this-> level --)
- {
- $ Result. = $ parsed [$ this-> level]. $ this-> top [$ this-> level];
- }
If (ereg ("Zero $", $ result ))
- $ Result = substr ($ result, 0, strlen ($ result)-2 );
Return $ result;
- }
- };
$ Big = new ChineseNumber ();
- Echo $ big-> small2big (1311 );
- ?>
|