Esempio n. 1
0
function convertTwoDigit($digit1, $digit2)
{
    if ($digit2 == "0") {
        switch ($digit1) {
            case "1":
                return "ten";
            case "2":
                return "twenty";
            case "3":
                return "thirty";
            case "4":
                return "forty";
            case "5":
                return "fifty";
            case "6":
                return "sixty";
            case "7":
                return "seventy";
            case "8":
                return "eighty";
            case "9":
                return "ninety";
        }
    } else {
        if ($digit1 == "1") {
            switch ($digit2) {
                case "1":
                    return "eleven";
                case "2":
                    return "twelve";
                case "3":
                    return "thirteen";
                case "4":
                    return "fourteen";
                case "5":
                    return "fifteen";
                case "6":
                    return "sixteen";
                case "7":
                    return "seventeen";
                case "8":
                    return "eighteen";
                case "9":
                    return "nineteen";
            }
        } else {
            $temp = convertDigit($digit2);
            switch ($digit1) {
                case "2":
                    return "twenty-{$temp}";
                case "3":
                    return "thirty-{$temp}";
                case "4":
                    return "forty-{$temp}";
                case "5":
                    return "fifty-{$temp}";
                case "6":
                    return "sixty-{$temp}";
                case "7":
                    return "seventy-{$temp}";
                case "8":
                    return "eighty-{$temp}";
                case "9":
                    return "ninety-{$temp}";
            }
        }
    }
}
Esempio n. 2
0
function convertNumber($num)
{
    $dec = strpos($num, '.');
    if ($dec !== false) {
        list($num, $dec) = explode('.', $num);
    } else {
        $dec = 0;
    }
    $output = "";
    if ($num[0] == "-") {
        $output .= "negative ";
        $num = ltrim($num, '-');
    } else {
        if ($num[0] == "+") {
            $output .= "positive ";
            $num = ltrim($num, '+');
        }
    }
    if ($num[0] == "0") {
        $output .= " zero";
    } else {
        $num = str_pad($num, 36, "0", STR_PAD_LEFT);
        $group = rtrim(chunk_split($num, 3, " "), " ");
        $groups = explode(" ", $group);
        $groups2 = array();
        foreach ($groups as $g) {
            $groups2[] = convertThreeDigit($g[0], $g[1], $g[2]);
        }
        for ($z = 0; $z < count($groups2); $z++) {
            if ($groups2[$z] != "") {
                $output .= $groups2[$z] . convertGroup(11 - $z) . ($z < 11 && !array_search("", array_slice($groups2, $z + 1, -1)) && $groups2[11] != "" && $groups[11][0] == '0' ? " and " : ", ");
            }
        }
        $output = rtrim($output, ", ");
    }
    if ($dec > 0) {
        $output .= " point";
        for ($i = 0; $i < strlen($dec); $i++) {
            $output .= " " . convertDigit($dec[$i]);
        }
    }
    return $output;
}