0

0

阿拉伯数字转化为中文汉字(大、小写)

php中文网

php中文网

发布时间:2016-07-25 09:01:44

|

2040人浏览过

|

来源于php中文网

原创

要把数字转成汉字
自己写了一个
  1. function number2Chinese($num, $m = 1) {
  2. switch($m) {
  3. case 0:
  4. $CNum = array(
  5. array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖'),
  6. array('','拾','佰','仟'),
  7. array('','萬','億','萬億')
  8. );
  9. break;
  10. default:
  11. $CNum = array(
  12. array('零','一','二','三','四','五','六','七','八','九'),
  13. array('','十','百','千'),
  14. array('','万','亿','万亿')
  15. );
  16. break;
  17. }
  18. // $cNum = array('零','一','二','三','四','五','六','七','八','九');
  19. if (is_integer($num)) {
  20. $int = (string)$num;
  21. } else if (is_numeric($num)) {
  22. $num = explode('.', (string)floatval($num));
  23. $int = $num[0];
  24. $fl = isset($num[1]) ? $num[1] : FALSE;
  25. }
  26. // 长度
  27. $len = strlen($int);
  28. // 中文
  29. $chinese = array();
  30. // 反转的数字
  31. $str = strrev($int);
  32. for($i = 0; $i $s = array(0=>$str[$i], 1=>$str[$i+1], 2=>$str[$i+2], 3=>$str[$i+3]);
  33. $j = '';
  34. // 千位
  35. if ($s[3] !== '') {
  36. $s[3] = (int) $s[3];
  37. if ($s[3] !== 0) {
  38. $j .= $CNum[0][$s[3]].$CNum[1][3];
  39. } else {
  40. if ($s[2] != 0 || $s[1] != 0 || $s[0]!=0) {
  41. $j .= $CNum[0][0];
  42. }
  43. }
  44. }
  45. // 百位
  46. if ($s[2] !== '') {
  47. $s[2] = (int) $s[2];
  48. if ($s[2] !== 0) {
  49. $j .= $CNum[0][$s[2]].$CNum[1][2];
  50. } else {
  51. if ($s[3]!=0 && ($s[1] != 0 || $s[0]!=0) ) {
  52. $j .= $CNum[0][0];
  53. }
  54. }
  55. }
  56. // 十位
  57. if ($s[1] !== '') {
  58. $s[1] = (int) $s[1];
  59. if ($s[1] !== 0) {
  60. $j .= $CNum[0][$s[1]].$CNum[1][1];
  61. } else {
  62. if ($s[0]!=0 && $s[2] != 0) {
  63. $j .= $CNum[0][$s[1]];
  64. }
  65. }
  66. }
  67. // 个位
  68. if ($s[0] !== '') {
  69. $s[0] = (int) $s[0];
  70. if ($s[0] !== 0) {
  71. $j .= $CNum[0][$s[0]].$CNum[1][0];
  72. } else {
  73. // $j .= $CNum[0][0];
  74. }
  75. }
  76. $j.=$CNum[2][$i/4];
  77. array_unshift($chinese, $j);
  78. }
  79. $chs = implode('', $chinese);
  80. if ($fl) {
  81. $chs .= '点';
  82. for($i=0,$j=strlen($fl); $i $t = (int)$fl[$i];
  83. $chs.= $str[0][$t];
  84. }
  85. }
  86. return $chs;
  87. }
复制代码
  1. function number2Chinese($num, $m = 1) {
  2. switch($m) {
  3. case 0:
  4. $CNum = array(
  5. array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖'),
  6. array('','拾','佰','仟'),
  7. array('','萬','億','萬億')
  8. );
  9. break;
  10. default:
  11. $CNum = array(
  12. array('零','一','二','三','四','五','六','七','八','九'),
  13. array('','十','百','千'),
  14. array('','万','亿','万亿')
  15. );
  16. break;
  17. }
  18. // $cNum = array('零','一','二','三','四','五','六','七','八','九');
  19. if (is_integer($num)) {
  20. $int = (string)$num;
  21. } else if (is_numeric($num)) {
  22. $num = explode('.', (string)floatval($num));
  23. $int = $num[0];
  24. $fl = isset($num[1]) ? $num[1] : FALSE;
  25. }
  26. // 长度
  27. $len = strlen($int);
  28. // 中文
  29. $chinese = array();
  30. // 反转的数字
  31. $str = strrev($int);
  32. for($i = 0; $i $s = array(0=>$str[$i], 1=>$str[$i+1], 2=>$str[$i+2], 3=>$str[$i+3]);
  33. $j = '';
  34. // 千位
  35. if ($s[3] !== '') {
  36. $s[3] = (int) $s[3];
  37. if ($s[3] !== 0) {
  38. $j .= $CNum[0][$s[3]].$CNum[1][3];
  39. } else {
  40. if ($s[2] != 0 || $s[1] != 0 || $s[0]!=0) {
  41. $j .= $CNum[0][0];
  42. }
  43. }
  44. }
  45. // 百位
  46. if ($s[2] !== '') {
  47. $s[2] = (int) $s[2];
  48. if ($s[2] !== 0) {
  49. $j .= $CNum[0][$s[2]].$CNum[1][2];
  50. } else {
  51. if ($s[3]!=0 && ($s[1] != 0 || $s[0]!=0) ) {
  52. $j .= $CNum[0][0];
  53. }
  54. }
  55. }
  56. // 十位
  57. if ($s[1] !== '') {
  58. $s[1] = (int) $s[1];
  59. if ($s[1] !== 0) {
  60. $j .= $CNum[0][$s[1]].$CNum[1][1];
  61. } else {
  62. if ($s[0]!=0 && $s[2] != 0) {
  63. $j .= $CNum[0][$s[1]];
  64. }
  65. }
  66. }
  67. // 个位
  68. if ($s[0] !== '') {
  69. $s[0] = (int) $s[0];
  70. if ($s[0] !== 0) {
  71. $j .= $CNum[0][$s[0]].$CNum[1][0];
  72. } else {
  73. // $j .= $CNum[0][0];
  74. }
  75. }
  76. $j.=$CNum[2][$i/4];
  77. array_unshift($chinese, $j);
  78. }
  79. $chs = implode('', $chinese);
  80. if ($fl) {
  81. $chs .= '点';
  82. for($i=0,$j=strlen($fl); $i $t = (int)$fl[$i];
  83. $chs.= $str[0][$t];
  84. }
  85. }
  86. return $chs;
  87. }
复制代码


相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

65

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

43

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

35

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

41

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

204

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

9

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

8

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号