php数字金额转大写文字函数,输入需要转换的金额,返回对应的文字

  1. function num2upper($money, $type = false)
  2. {
  3. $result = '';
  4. $money = strrev( (string)($money*100) );
  5. $number = $type ? ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']
  6. : ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
  7. $unit = $type ? ['分','角','元']
  8. : ['分','角','圆'];
  9. $unit2 = $type ? ['千', '万', '十', '百'] : ['仟', '万', '拾', '佰'];
  10. //$unit2 = $type ? ['千', '万', '十', '百'] : ['拾', '佰' ,'仟', '万', ];
  11. $money = (string)$money;
  12. /** - - - - - - - 简单错误处理 - - - - - - **/
  13. if ($money > 99999999999) return '金额过大,无法显示'; //最大值错误提醒;
  14. if ($money == 0) return '零元整'; //0元简单处理;
  15. if ($money < 0) return '金额错误,请联系管理员'; //最大值错误提醒;
  16. $lenght = strlen($money);
  17. for ($i = 0; $i < $lenght; $i++) {
  18. $tmp = '';
  19. // if ( $i != 0 && ($i < $lenght-1)最大位不可能为0 && $money[$i] == 0 && $money[$i+1] == 0) continue ;//跳过多个零
  20. $tmp .= $number[ $money[$i] ]; //数字替换成文字
  21. if ($i < 3) { //小额处理(元角分)
  22. $tmp .= $unit[ $i ];
  23. }else {
  24. //分位不验证 当前数为零 下一位还是0
  25. if ( $i != 0 && $money[$i] == 0 && $money[$i+1] == 0) {
  26. continue ;//跳过多个零
  27. }
  28. if ( $money[$i] != 0 && $i != 10) $tmp .= $unit2[($i-1)%4]; //特殊处理亿元
  29. else if ( $i == 6 ) $tmp .= '万';
  30. else if ( $i == 10 ) $tmp .= '亿';
  31. }
  32. $result = $tmp . $result; //向前将金额文字排列
  33. }
  34. $result = str_replace('零角零分', '整', $result); //添加整字
  35. $result = str_replace('零零圆', '圆', $result); //添加圆字
  36. $result = str_replace('零圆', '圆', $result); //添加圆字
  37. $result = str_replace('零零', '零', $result); //添加整字
  38. $result = str_replace('零万', '万零', $result); //添加整字
  39. $result = str_replace('零分', '', $result); //去掉零分
  40. return $result;
  41. }

更多相关文章

  1. JavaScript: 购物车全选自动计算金额和取消全选清零金额
  2. 【JavaScript案例】购物车全选和自动计算金额案例(附源码)及ES6模
  3. 0114 购物车计算金额
  4. PHP实现财务审核通过后返现金额到客户的源码分析
  5. 还玩什么ZAO换脸软件,首例AI诈骗案已经诞生了,涉案金额达175万
  6. Android——EditText金额输入控制位数(小数点前几位,小数点后几位)
  7. [置顶] Android(安卓)平板中 自定义键盘(popuwindow) 居于屏幕左
  8. android:两个进程之间通过AIDL进行通信
  9. Android(安卓)自定义View金额、价格样式显示MoneyView

随机推荐

  1. Android日期时间格式国际化
  2. android 颜色值 xml
  3. Android Property System
  4. 【Android UI】色板
  5. AndroidщАЪш┐ЗViewPagerхоЮчО
  6. 在eclipse中查看Android(安卓)SDK源代码
  7. 2013.10.14 “?android ”
  8. 默认的Android(安卓)Dialog 样式
  9. Android仿计算器布局代码
  10. Android SdCard写入权限