Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie den Betrag in PHP in Großbuchstaben

So konvertieren Sie den Betrag in PHP in Großbuchstaben

藏色散人
藏色散人Original
2020-08-31 09:28:254772Durchsuche

So konvertieren Sie den Betrag in PHP: Erstellen Sie zunächst eine PHP-Beispieldatei. Definieren Sie dann eine „num_to_rmb“-Methode. Anschließend konvertieren Sie die Zahl mithilfe von Funktionen wie „round“ in eine ganze Zahl verarbeitet.

So konvertieren Sie den Betrag in PHP in Großbuchstaben

Empfohlen: „PHP-Video-Tutorial

PHP Konvertieren Sie digitale Beträge in RMB-Großbuchstaben

/**
*数字金额转换成中文大写金额的函数
*String Int  $num  要转换的小写数字或小写字符串
*return 大写字母
*小数位为两位
**/
function num_to_rmb($num){
    $c1 = "零壹贰叁肆伍陆柒捌玖";
    $c2 = "分角元拾佰仟万拾佰仟亿";
    //精确到分后面就不要了,所以只留两个小数位
    $num = round($num, 2); 
    //将数字转化为整数
    $num = $num * 100;
    if (strlen($num) > 10) {
            return "金额太大,请检查";
    } 
    $i = 0;
    $c = "";
    while (1) {
            if ($i == 0) {
                    //获取最后一位数字
                    $n = substr($num, strlen($num)-1, 1);
            } else {
                    $n = $num % 10;
            }
            //每次将最后一位数字转化为中文
            $p1 = substr($c1, 3 * $n, 3);
            $p2 = substr($c2, 3 * $i, 3);
            if ($n != '0' || ($n == '0' && ($p2 == '亿' || $p2 == '万' || $p2 == '元'))) {
                    $c = $p1 . $p2 . $c;
            } else {
                    $c = $p1 . $c;
            }
            $i = $i + 1;
            //去掉数字最后一位了
            $num = $num / 10;
            $num = (int)$num;
            //结束循环
            if ($num == 0) {
                    break;
            } 
    }
    $j = 0;
    $slen = strlen($c);
    while ($j < $slen) {
            //utf8一个汉字相当3个字符
            $m = substr($c, $j, 6);
            //处理数字中很多0的情况,每次循环去掉一个汉字“零”
            if ($m == &#39;零元&#39; || $m == &#39;零万&#39; || $m == &#39;零亿&#39; || $m == &#39;零零&#39;) {
                    $left = substr($c, 0, $j);
                    $right = substr($c, $j + 3);
                    $c = $left . $right;
                    $j = $j-3;
                    $slen = $slen-3;
            } 
            $j = $j + 3;
    } 
    //这个是为了去掉类似23.0中最后一个“零”字
    if (substr($c, strlen($c)-3, 3) == &#39;零&#39;) {
            $c = substr($c, 0, strlen($c)-3);
    }
    //将处理的汉字加上“整”
    if (empty($c)) {
            return "零元整";
    }else{
            return $c . "整";
    }
}
echo num_to_rmb(23000000.00); //贰仟叁佰万元整

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie den Betrag in PHP in Großbuchstaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn