1) { $moneystr .= getwords($milval) . " million"; } // thousands $workval = $numval - ($milval * 1000000); // get rid of millions $thouval = (integer)($workval / 1000); if($thouval > 0) { $workword = getwords($thouval); if ($moneystr == "") { $moneystr = $workword . " thousand"; } else { $moneystr .= " " . $workword . " thousand"; } } // handle all the rest of the money $workval = $workval - ($thouval * 1000); // get rid of thousands $tensval = (integer)($workval); if ($moneystr == 0) { if ($tensval > 0) { $moneystr .= getwords($tensval); } else { $moneystr .= "Zero"; } } else { // non zero values in hundreds and up $workword = getwords($tensval); $moneystr .= " " . $workword; } // plural or singular $workval = (integer)($numval); // do the pennies - use printf so that we get the // same rounding as printf // done - let's get out of here! return $moneystr; } //************************************************************* // this function creates word phrases in the range of 1 to 999. // pass it an integer value //************************************************************* function getwords($workval) { $numwords = array( 1 => "one", 2 => "two", 3 => "three", 4 => "four", 5 => "five", 6 => "six", 7 => "seven", 8 => "eight", 9 => "nine", 10 => "ten", 11 => "eleven", 12 => "twelve", 13 => "thirteen", 14 => "fourteen", 15 => "fifteen", 16 => "sixteen", 17 => "seventeen", 18 => "eighteen", 19 => "nineteen", 20 => "twenty", 30 => "thirty", 40 => "forty", 50 => "fifty", 60 => "sixty", 70 => "seventy", 80 => "eighty", 90 => "ninety"); // handle the 100's $retstr = " "; $hundval = (integer)($workval / 100); if($hundval) $retstr .= $numwords[$hundval]." hundred"; // handle units and teens $workstr = ""; $tensval = $workval - ($hundval * 100); // dump the 100's $tempval = ((integer)($tensval / 10)) * 10; $unitval = $tensval - $tempval; if (($tensval < 20) && ($tensval > 0)) {// do the teens $workstr = $numwords[$tensval]; } else {// got to break out the units and tens $workstr = $numwords[$tempval]; // get the tens if ($unitval > 0) { $workstr .= "-" . $numwords[$unitval]; } } // join all the parts together and leave if ($workstr != "") { if ($retstr != "") { $retstr .= " " . $workstr; } else { $retstr = $workstr; } } return $retstr; } ?>