PHP如何实现将数字金额轻松转成中文繁体大写
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,PHP如何实现将数字金额轻松转成中文繁体大写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。数字金额转中文繁体大写好吧,我
千家信息网最后更新 2025年11月08日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安全错误
数据库的锁怎样保障安全
维护网络安全青少年
软件开发的业务团队哪里来
保证网络安全的三大要素
信息通信网络技术员
全国大学生网络安全技能
目前网络安全法的漏洞
河北通用软件开发收购价格
服务器 管理员密码
免费的软件开发公司
微信摇一摇赛跑软件开发
亿联科技与智能集成互联网
杰伦格林NBA数据库
网络安全无小事是谁说的
数据库频繁读写
湖南机架式服务器价格
石嘴山oa软件开发怎么样
网络安全专业美签
大连互信互联网络科技有限公司
如何从前台获取数据库数据
广东网络安全学习
网络安全风险如何解决
保证网络安全的三大要素
秦丝服务器开小差
我的世界服务器定时开关插件
软件开发5w规则
计算网络技术9位2进制是多少
数据库的内容可以有格式吗
软件开发项目总目标
分离的数据库怎么连其他数据库
我的世界御风服务器