php数字转汉字代码(算法)


Posted in PHP onOctober 08, 2011
//将数字转换为汉字,比如1210转换为一千二百一十 
$num = "842105580";//九位数 
function del0($num) //去掉数字段前面的0 
{ 
return "".intval($num); 
} 
function n2c($x) //单个数字变汉字 
{ 
$arr_n = array("零","一","二","三","四","五","六","七","八","九","十"); 
return $arr_n[$x]; 
} 
function num_r($abcd) //读取数值(4位) 
{ 
$arr= array(); 
$str = ""; //读取后的汉字数值 
$flag = 0; //该位是否为零 
$flag_end = 1; //是否以“零”结尾 
$size_r = strlen($abcd); 
for($i=0; $i<$size_r; $i++) 
{ 
$arr[$i] = $abcd{$i}; 
} 
$arrlen = count($arr); 
for($j=0; $j<$arrlen; $j++) 
{ 
$ch = n2c($arr[$arrlen-1-$j]); //从后向前转汉字 
echo $ch; 
echo ""; 
if($ch == "零" && $flag == 0){ //如果是第一个零 
$flag = 1; //该位为零 
$str = $ch.$str; //加入汉字数值字符串 
continue; 
}elseif($ch == "零"){ //如果不是第一个零了 
continue; 
} 
$flag = 0; //该位不是零 
switch($j) { 
case 0: $str = $ch; $flag_end = 0; break; //第一位(末尾),没有以“零”结尾 
case 1: $str = $ch."十".$str; break; //第二位 
case 2: $str = $ch."百".$str; break; //第三位 
case 3: $str = $ch."千".$str; break; //第四位 
} 
} 
if($flag_end == 1) //如果以“零”结尾 
{ 
mb_internal_encoding("UTF-8"); 
$str = mb_substr($str, 0, mb_strlen($str)-1); //把“零”去掉 
} 
return $str; 
} 
function num2ch($num) //整体读取转换 
{ 
$num_real = del0($num);//去掉前面的“0” 
$numlen = strlen($num_real); 
echo "numlen=".$numlen.""; 
if($numlen >= 9)//如果满九位,读取“亿”位 
{ 
$y=substr($num_real, -9, 1); 
//echo $y; 
$wsbq = substr($num_real, -8, 4); 
$gsbq = substr($num_real, -4); 
$a = num_r(del0($gsbq)); 
$b = num_r(del0($wsbq))."万"; 
$c = num_r(del0($y))."亿"; 
}elseif($numlen <= 8 && $numlen >= 5) //如果大于等于“万” 
{ 
$wsbq = substr($num_real, 0, $numlen-4); 
$gsbq = substr($num_real, -4); 
$a = num_r(del0($gsbq)); 
$b = num_r(del0($wsbq))."万"; 
$c=""; 
}elseif($numlen <= 4) //如果小于等于“千” 
{ 
$gsbq = substr( $num_real, -$numlen); 
$a = num_r(del0($gsbq)); 
$b=""; 
$c=""; 
} 
$ch_num = $c.$b.$a; 
return $ch_num; 
} 
echo $num.""; //数字 
echo num2ch($num); //汉字 
echo ""; 
echo num2ch("1240");
PHP 相关文章推荐
搜索引擎技术核心揭密
Oct 09 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
php解压文件代码实现php在线解压
Feb 13 PHP
php分页代码学习示例分享
Feb 20 PHP
php实现随机生成易于记忆的密码
Jun 19 PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 PHP
php短信接口代码
May 13 PHP
php使用CutyCapt实现网页截图保存的方法
Oct 03 PHP
PHP+MYSQL实现读写分离简单实战
Mar 13 PHP
phpmyadmin下载、安装、配置教程
May 16 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 #PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 #PHP
PHP下判断网址是否有效的代码
Oct 08 #PHP
Admin generator, filters and I18n
Oct 06 #PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 #PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 #PHP
linux iconv方法的使用
Oct 01 #PHP
You might like
PHP 调试工具Debug Tools
2011/04/30 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
PHP生成唯一订单号
2015/07/05 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
vue项目中播放rtmp视频文件流的方法
2020/09/17 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
python持久性管理pickle模块详细介绍
2015/02/18 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
2018/05/17 Python
pytorch打印网络结构的实例
2019/08/19 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
python模拟实现分发扑克牌
2020/04/22 Python
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
Servlet方面面试题
2016/09/28 面试题
理工类毕业自我鉴定
2014/02/20 职场文书
大学学风建设方案
2014/05/04 职场文书
2014年征兵标语
2014/06/20 职场文书
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技