PHP代码示例:将小写数字转换为大写数字的魔法技巧

admin
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

温馨提示:这篇文章已超过526天没有更新,请注意相关的内容是否还可用!

项目中经常会用到的数字小写转大写功能,收藏分享给大家,直接复制粘贴就可以项目中使用


可以将数字:1234.5678元,转换成大写汉子:壹仟贰佰叁拾肆圆伍角陆分柒厘捌毫


<?PHP

$data = $_GET['data'];

function china_cny($ns) {


static $cnums = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"),


$cnyunits = array("圆", "角", "分","厘","毫"),


$grees = array("拾", "佰", "仟", "万", "拾", "佰", "仟", "亿");


list($ns1, $ns2) = explode(".", $ns, 4);

$ns2 = array_filter(array($ns2[3],$ns2[2],$ns2[1], $ns2[0]));


//$ns2 = array_filter(array($ns2[1], $ns2[0]));


$ret = array_merge($ns2, array(implode("", _cny_map_unit(str_split($ns1), $grees)), ""));


$ret = implode("", array_reverse(_cny_map_unit($ret, $cnyunits)));


return str_replace(array_keys($cnums), $cnums, $ret);


}


function _cny_map_unit($list, $units) {

$ul = count($units); $xs = array();


foreach (array_reverse($list) as $x) {


$l = count($xs);


if ($x != "0" || !($l % 4))


$n = ($x == '0' ? '' : $x) . ($units[($l - 1) % $ul]);


else


$n = is_numeric($xs[0][0]) ? $x : '';


array_unshift($xs, $n);


}

return $xs;

}

echo $data."元</br>";

echo china_cny($data);

?>


文章版权声明:除非注明,否则均为执刀人的工具库原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,217人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码