PHP如何实现将数字金额轻松转成中文繁体大写
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,PHP如何实现将数字金额轻松转成中文繁体大写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。数字金额转中文繁体大写好吧,我
千家信息网最后更新 2026年11月01日PHP如何实现将数字金额轻松转成中文繁体大写
PHP如何实现将数字金额轻松转成中文繁体大写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
数字金额转中文繁体大写
好吧,我居然在写这个。
可以到这里测试。(https://sandbox.onlinephpfunctions.com/code/0cc068d3c89904e55d8aa9e55fdfa45eaab70c37)
数字金额转中文繁体大写:
if (!function_exists('rmb_capital')) { /** * 金额转中文大写 * * @param mixed $amount * @return string */ function rmb_capital($amount) { $capitalNumbers = [ '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', ]; $integerUnits = ['', '拾', '佰', '仟',]; $placeUnits = ['', '万', '亿', '兆',]; $decimalUnits = ['角', '分', '厘', '毫',]; $result = []; $arr = explode('.', $amount); $integer = trim($arr[0] ?? '', '-'); $decimal = $arr[1] ?? ''; if (!((int) $decimal)) { $decimal = ''; } // 转换整数部分 // 从个位开始 $integerNumbers = $integer ? array_reverse(str_split($integer)) : []; $last = null; foreach (array_chunk($integerNumbers, 4) as $chunkKey => $chunk) { if (!((int) implode('', $chunk))) { // 全是 0 则直接跳过 continue; } array_unshift($result, $placeUnits[$chunkKey]); foreach ($chunk as $key => $number) { // 去除重复 零,以及第一位的 零,类似:1002、110 if (!$number && (!$last || $key === 0)) { $last = $number; continue; } $last = $number; // 类似 1022,中间的 0 是不需要 佰 的 if ($number) { array_unshift($result, $integerUnits[$key]); } array_unshift($result, $capitalNumbers[$number]); } } if (!$result) { array_push($result, $capitalNumbers[0]); } array_push($result, '圆'); if (!$decimal) { array_push($result, '整'); } // 转换小数位 $decimalNumbers = $decimal ? str_split($decimal) : []; foreach ($decimalNumbers as $key => $number) { array_push($result, $capitalNumbers[$number]); array_push($result, $decimalUnits[$key]); } if (strpos((string) $amount, '-') === 0) { array_unshift($result, '负'); } return '人民币' . implode('', $result); }}函数不对参数是否为数字值做验证
简单测试了一下:
:人民币零圆整dsfa:人民币零圆整0:人民币零圆整1:人民币壹圆整12:人民币壹拾贰圆整10:人民币壹拾圆整102:人民币壹佰零贰圆整110:人民币壹佰壹拾圆整1002:人民币壹仟零贰圆整1010:人民币壹仟零壹拾圆整1022:人民币壹仟零贰拾贰圆整100002:人民币壹拾万零贰圆整1020345:人民币壹佰零贰万零叁佰肆拾伍圆整100:人民币壹佰圆整10000:人民币壹万圆整-22342.432:人民币负贰万贰仟叁佰肆拾贰圆肆角叁分贰厘0.34:人民币零圆叁角肆分34.04:人民币叁拾肆圆零角肆分34532:人民币叁万肆仟伍佰叁拾贰圆整123456789:人民币壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖圆整
已改写为开源扩展包: rmb-capital(https://packagist.org/packages/chuoke/rmb-capital)
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
人民
人民币
大写
数字
金额
中文
繁体
帮助
测试
不对
清楚
个位
伍佰
内容
函数
参数
对此
小数
小数位
整数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华服互联网科技靠谱吗
厦门中拓互联网络科技有限公司
涨乐互联网科技
关于新基建和互联网科技
互联网金融公司科技
互联网 科技创业
广州凡科互联网科技
互联网科技logo
卓越科技互联网 招聘
新华互联网科技2019
互联网科技教育视频
成都铂石互联网科技做什么的
千方科技属于互联网企业吗
玉溪互联网科技怎么选
互联网保险科技创业
长沙互联网科技
山东大美朱楼互联网科技有限公司
三亚科技创新互联网基地
瑞安市蟠桃会互联网科技有限公司
互联网企业和网络科技有限公司
广东万易互联网科技有限公司惠州分公司
河南真二互联网科技有限公司
青岛互联网科技公司
互联网科技股有哪些
农村开互联网科技讲堂
互联网科技实习生岗位职责
洛阳昕诺飞互联网科技有限公司
银行科技岗属于互联网吗
全球科技与互联网公司市值变化
互联网科技对化妆品行业