Recent research in algorithms, found a digital-to-capitalization algorithms quite interesting to share for everyone to see:
function get_amount ($ NUM) {
$ c1 = "Zero One II Triple wantonly Wu Lu qi Ba Jiu";
$ c2 = "sub-diagonal elements pick Bai Qian Wan pick Bai thousand billion";
$ NUM = round ($ NUM, 2) ;
$ NUM = NUM * $ 100;
IF (strlen ($ NUM)> 10) {
return "data is too long, it is not so much money, the check";
}
$ I = 0;
$ C = "";
the while (. 1) {
IF (I $ == 0) {
$ n-= substr ($ NUM, strlen ($ NUM) -1,. 1);
} the else {
$ $ n-NUM = 10%;
}
$ P1 = substr ($ C1,. 3 n-* $,. 3);
$ P2 = substr ($ C2,. 3 * I $,. 3);
! IF (n-$ = '0' || ($ n-== '0' && ($ P2 = = 'one hundred million' || $ p2 == 'Wan'|| $ p2 == 'meta'))) {
$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) {
$m = substr($c, $j, 6);
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;
}
return $ C;
IF (substr ($ C, strlen (C $) -3,. 3) == 'zero') {
$ C = substr (C $, 0, strlen (C $) -3);
}
IF (empty ($ C)) {
return "zero dollars whole";
} the else {
return $ C "whole.";
}
}