Heim > Artikel > Backend-Entwicklung > So konvertieren Sie den Betrag in PHP in Großbuchstaben
So konvertieren Sie den Betrag in PHP: Definieren Sie zuerst die zu konvertierenden chinesischen Betragszeichen, definieren Sie dann die Beurteilungsbedingungen und führen Sie eine Schleife aus Länge der konvertierten chinesischen Zeichen als Beurteilungsschleife; Verarbeiten Sie schließlich unnötige Zeichen und geben Sie vollständige chinesische Zeichen zurück.
Empfohlen: „PHP-Video-Tutorial“
public static 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 == '零元' || $m == '零万' || $m == '零亿' || $m == '零零') { $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) == '零') { $c = substr($c, 0, strlen($c) - 3); } //将处理的汉字加上“整”if (empty($c)) { return "零元整"; } else { return $c . "整"; } }
Der Rückgabeeffekt nach der Konvertierung dieser Methode ist wie folgt:
Definieren Sie zunächst die chinesischen Betragszeichen, die konvertiert werden müssen
$c1 = „Null 壹三四五鲁柒捌玖“;
$c2 = „Cent Yuan einhunderttausendeinhundert Millionen“;
Die Definition ist wie im Bild gezeigt
Beurteilen Sie dann die Genauigkeit der Menge
//精确到分后面就不要了,所以只留两个小数位 $num = round($num, 2); //将数字转化为整数 $num = $num * 100; if (strlen($num) > 10) { return "金额太大,请检查"; }
Dann definieren Sie die Beurteilungsbedingungen und führen eine Schleife aus und konvertieren sie nacheinander in chinesische Schriftzeichen
$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; } }
Definieren Sie die Beurteilungsbedingungen und berechnen Sie die Länge der konvertierten chinesischen Schriftzeichen als Beurteilungsschleife
$j = 0; $slen = strlen($c); while ($j < $slen) { //utf8一个汉字相当3个字符 $m = substr($c, $j, 6); //处理数字中很多0的情况,每次循环去掉一个汉字“零” if ($m == '零元' || $m == '零万' || $m == '零亿' || $m == '零零') { $left = substr($c, 0, $j); $right = substr($c, $j + 3); $c = $left . $right; $j = $j - 3; $slen = $slen - 3; } $j = $j + 3; }
Verarbeiten Sie schließlich unnötige Zeichen und geben Sie vollständige chinesische Zeichen zurück
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!