业务经理

微信扫描以上二维码

028-61286886

技术咨询

数字怎么转换为大写

迅睿框架 更新 2023-11-01 08:53:32 阿不

金额自动转换大写的话怎么处理?

比如: 金额小写50000 元 ,大写人民币大写(伍万元)

方案

  • 迅睿框架创始人 #1 · 2023-10-24 08:22:34
    在 PHP 中,你可以使用以下代码将金额自动转换为大写:
    function convertToWords($number) {    
    $ones = array(    
    "", "一", "二", "三", "四", "五", "六", "七", "八", "九"      
    );    
    $tens = array(    
    "", "", "二十", "三十", "四十", "五十", "六十", "七十", "八十", "九十"      
    );    
    $scales = array(    
    "", "万", "亿", "万亿"      
    );    
    $money = array(    
    "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟"      
    );    
    $word = "";    
    $scale = 0;    
    $digit = "";    
    // 将数字分解为单个数字的字符串数组      
    $digits = str_split((string)$number);    
    // 从右到左处理每个数字      
    for ($i = count($digits) - 1; $i >= 0; $i--) {    
    // 获取当前位的数字      
    $digit = $digits[$i];    
    // 处理非零的数字      
    if ($digit != 0) {    
    // 判断当前位是否为零,如果不是零,则将数字转换为相应的中文大写形式      
    if ($digit < 10) {    
    $word = $ones[$digit] . $money[$i] . $word;    
    } elseif ($digit < 20) {    
    $word = $tens[$digit - 10] . $money[$i] . $word;    
    } else {    
    $word = $ones[$digit % 10] . $money[$i] . $word;    
    $word = $tens[$digit / 10] . $money[$i] . $word;    
    }    
    } else {    
    // 如果当前位为零,则根据当前位的权重决定是否需要添加零到结果中      
    if ($scale == 0) {    
    $word = "零" . $word;    
    } else {    
    $word = $money[$i] . $word;    
    }    
    }    
    // 处理万位和亿位的特殊情况      
    if ($i == 3 || $i == 7) {    
    $scale++;    
    if ($scale > 2) {    
    // 如果超过了万亿,则将万亿转换为对应的中文大写形式并添加到结果中      
    $word = $scales[2] . $word;    
    $scale = 0;    
    } else {    
    // 如果当前位为零,则根据当前位的权重决定是否需要添加零到结果中      
    if ($digit == 0) {    
    $word = "零" . $word;    
    } else {    
    $word = $scales[$scale] . $word;    
    }    
    }    
    }    
    }    
    // 如果结果不为空,则将结果转换为大写形式并返回结果,否则返回空字符串表示金额为零      
    if (!empty($word)) {    
    return strtoupper($word);    
    } else {    
    return "";    
    }    
    }
    以上函数是百度ai生成的,函数定义好之后,你就可以进行调用转换
  • 阿不 #2 · 2023-11-01 02:22:55
    能不能具体的部署仔细点说一下,谢谢你 😇 😇
  • 越王勾践 #3 · 2023-11-01 08:53:32
    函数不是都给你写出来了吗 😓 只能拿进去用呀

迅睿系统漏洞

导入微信文章
导入微信文章(2026-09-15)
优化排版缺少文字情况
GEO系统
GEO系统(2026-09-15)
运营客户端,防止误触阴影处关闭对话框
独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...