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
  33. $s = array(0=>$str[$i], 1=>$str[$i+1], 2=>$str[$i+2], 3=>$str[$i+3]);
  34. $j = '';
  35. // 千位
  36. if ($s[3] !== '') {
  37. $s[3] = (int) $s[3];
  38. if ($s[3] !== 0) {
  39. $j .= $CNum[0][$s[3]].$CNum[1][3];
  40. } else {
  41. if ($s[2] != 0 || $s[1] != 0 || $s[0]!=0) {
  42. $j .= $CNum[0][0];
  43. }
  44. }
  45. }
  46. // 百位
  47. if ($s[2] !== '') {
  48. $s[2] = (int) $s[2];
  49. if ($s[2] !== 0) {
  50. $j .= $CNum[0][$s[2]].$CNum[1][2];
  51. } else {
  52. if ($s[3]!=0 && ($s[1] != 0 || $s[0]!=0) ) {
  53. $j .= $CNum[0][0];
  54. }
  55. }
  56. }
  57. // 十位
  58. if ($s[1] !== '') {
  59. $s[1] = (int) $s[1];
  60. if ($s[1] !== 0) {
  61. $j .= $CNum[0][$s[1]].$CNum[1][1];
  62. } else {
  63. if ($s[0]!=0 && $s[2] != 0) {
  64. $j .= $CNum[0][$s[1]];
  65. }
  66. }
  67. }
  68. // 个位
  69. if ($s[0] !== '') {
  70. $s[0] = (int) $s[0];
  71. if ($s[0] !== 0) {
  72. $j .= $CNum[0][$s[0]].$CNum[1][0];
  73. } else {
  74. // $j .= $CNum[0][0];
  75. }
  76. }
  77. $j.=$CNum[2][$i/4];
  78. array_unshift($chinese, $j);
  79. }
  80. $chs = implode('', $chinese);
  81. if ($fl) {
  82. $chs .= '点';
  83. for($i=0,$j=strlen($fl); $i
  84. $t = (int)$fl[$i];
  85. $chs.= $str[0][$t];
  86. }
  87. }
  88. return $chs;
  89. }
复制代码
  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
  33. $s = array(0=>$str[$i], 1=>$str[$i+1], 2=>$str[$i+2], 3=>$str[$i+3]);
  34. $j = '';
  35. // 千位
  36. if ($s[3] !== '') {
  37. $s[3] = (int) $s[3];
  38. if ($s[3] !== 0) {
  39. $j .= $CNum[0][$s[3]].$CNum[1][3];
  40. } else {
  41. if ($s[2] != 0 || $s[1] != 0 || $s[0]!=0) {
  42. $j .= $CNum[0][0];
  43. }
  44. }
  45. }
  46. // 百位
  47. if ($s[2] !== '') {
  48. $s[2] = (int) $s[2];
  49. if ($s[2] !== 0) {
  50. $j .= $CNum[0][$s[2]].$CNum[1][2];
  51. } else {
  52. if ($s[3]!=0 && ($s[1] != 0 || $s[0]!=0) ) {
  53. $j .= $CNum[0][0];
  54. }
  55. }
  56. }
  57. // 十位
  58. if ($s[1] !== '') {
  59. $s[1] = (int) $s[1];
  60. if ($s[1] !== 0) {
  61. $j .= $CNum[0][$s[1]].$CNum[1][1];
  62. } else {
  63. if ($s[0]!=0 && $s[2] != 0) {
  64. $j .= $CNum[0][$s[1]];
  65. }
  66. }
  67. }
  68. // 个位
  69. if ($s[0] !== '') {
  70. $s[0] = (int) $s[0];
  71. if ($s[0] !== 0) {
  72. $j .= $CNum[0][$s[0]].$CNum[1][0];
  73. } else {
  74. // $j .= $CNum[0][0];
  75. }
  76. }
  77. $j.=$CNum[2][$i/4];
  78. array_unshift($chinese, $j);
  79. }
  80. $chs = implode('', $chinese);
  81. if ($fl) {
  82. $chs .= '点';
  83. for($i=0,$j=strlen($fl); $i
  84. $t = (int)$fl[$i];
  85. $chs.= $str[0][$t];
  86. }
  87. }
  88. return $chs;
  89. }
复制代码


热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

2

2026.02.27

Golang 高级特性与最佳实践:提升代码艺术
Golang 高级特性与最佳实践:提升代码艺术

本专题深入剖析 Golang 的高级特性与工程级最佳实践,涵盖并发模型、内存管理、接口设计与错误处理策略。通过真实场景与代码对比,引导从“可运行”走向“高质量”,帮助构建高性能、可扩展、易维护的优雅 Go 代码体系。

1

2026.02.27

Golang 测试与调试专题:确保代码可靠性
Golang 测试与调试专题:确保代码可靠性

本专题聚焦 Golang 的测试与调试体系,系统讲解单元测试、表驱动测试、基准测试与覆盖率分析方法,并深入剖析调试工具与常见问题定位思路。通过实践示例,引导建立可验证、可回归的工程习惯,从而持续提升代码可靠性与可维护性。

0

2026.02.27

漫蛙app官网链接入口
漫蛙app官网链接入口

漫蛙App官网提供多条稳定入口,包括 https://manwa.me、https

56

2026.02.27

deepseek在线提问
deepseek在线提问

本合集汇总了DeepSeek在线提问技巧与免登录使用入口,助你快速上手AI对话、写作、分析等功能。阅读专题下面的文章了解更多详细内容。

4

2026.02.27

AO3官网直接进入
AO3官网直接进入

AO3官网最新入口合集,汇总2026年可用官方及镜像链接,助你快速稳定访问Archive of Our Own平台。阅读专题下面的文章了解更多详细内容。

53

2026.02.27

php框架基础教程
php框架基础教程

本合集涵盖2026年最新PHP框架入门知识与基础教程,适合初学者快速掌握主流框架核心概念与使用方法。阅读专题下面的文章了解更多详细内容。

1

2026.02.27

php框架怎么用
php框架怎么用

本合集专为零基础学习者打造,系统介绍主流PHP框架的安装、配置与基础用法,助你快速入门Web开发。阅读专题下面的文章了解更多详细内容。

4

2026.02.27

无禁词AI聊天软件下载大全
无禁词AI聊天软件下载大全

本合集精选多款免费、无违禁词限制的AI聊天软件,支持自定义角色、剧情畅聊,体验真实互动感。阅读专题下面的文章了解更多详细内容。

19

2026.02.27

热门下载

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

精品课程

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

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