有没有一种简单的方法可以将数字转换为PHP中的单词?

有没有一种简单的方法可以将数字转换为PHP中的单词?,第1张

有没有一种简单的方法可以将数字转换为PHP中的单词

我在网上找到了一些(2007/2008)源代码,它具有版权,但是我可以自由使用它,并根据需要对其进行修改,因此将其放在此处并在CC-Wiki下重新许可:

<?phpfunction convertNumber($number){    list($integer, $fraction) = explode(".", (string) $number);    $output = "";    if ($integer{0} == "-")    {        $output = "negative ";        $integer    = ltrim($integer, "-");    }    else if ($integer{0} == "+")    {        $output = "positive ";        $integer    = ltrim($integer, "+");    }    if ($integer{0} == "0")    {        $output .= "zero";    }    else    {        $integer = str_pad($integer, 36, "0", STR_PAD_LEFT);        $group   = rtrim(chunk_split($integer, 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 ($fraction > 0)    {        $output .= " point";        for ($i = 0; $i < strlen($fraction); $i++)        { $output .= " " . convertDigit($fraction{$i});        }    }    return $output;}function convertGroup($index){    switch ($index)    {        case 11: return " decillion";        case 10: return " nonillion";        case 9: return " octillion";        case 8: return " septillion";        case 7: return " sextillion";        case 6: return " quintrillion";        case 5: return " quadrillion";        case 4: return " trillion";        case 3: return " billion";        case 2: return " million";        case 1: return " thousand";        case 0: return "";    }}function convertThreeDigit($digit1, $digit2, $digit3){    $buffer = "";    if ($digit1 == "0" && $digit2 == "0" && $digit3 == "0")    {        return "";    }    if ($digit1 != "0")    {        $buffer .= convertDigit($digit1) . " hundred";        if ($digit2 != "0" || $digit3 != "0")        { $buffer .= " and ";        }    }    if ($digit2 != "0")    {        $buffer .= convertTwoDigit($digit2, $digit3);    }    else if ($digit3 != "0")    {        $buffer .= convertDigit($digit3);    }    return $buffer;}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";        }    }}function convertDigit($digit){    switch ($digit)    {        case "0": return "zero";        case "1": return "one";        case "2": return "two";        case "3": return "three";        case "4": return "four";        case "5": return "five";        case "6": return "six";        case "7": return "seven";        case "8": return "eight";        case "9": return "nine";    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5014884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存