人民币数字转中文币制
来源:互联网 发布:php仿系统之家源码 编辑:程序博客网 时间:2024/06/03 09:25
前段时间开发,遇到需求要把人民币数字转成中文币制显示。在网上找了一下没有,没有直接可以用的,于是就自己写了一下。格式举例:0.01 壹分
1.02 壹元零贰分
100 壹佰元整
101 壹佰零壹元整
101.01 壹佰零壹元零壹分
101.21 壹佰零壹元贰角壹分
101.2 壹佰零壹元贰角
1000.01 壹仟元零壹分
1001.01 壹仟零壹元零壹分
1010 壹仟零壹拾元整
数字:壹贰叁肆伍陆柒捌玖
单位:万仟佰拾元角分
function replaceNumberToCnCapitals($num){$capnum = array( "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" );$capdigit = array( "", "拾", "佰", "仟" );$subnum = explode( ".", $num );$yuan = $subnum[0];$j = 0;$nonzero = 0;for( $i=0; $i<strlen($subnum[0]); $i++ ){if( $i==0 ){ //确定个位$cncap = "元"; }if( $i==4 ){ //确定万位$j = 0;$nonzero = 0;$cncap = "万" . $cncap; }if($i==8){ //确定亿位$j = 0;$nonzero = 0;$cncap = "亿" . $cncap; }$tailnum = substr($yuan,-1,1); //截取尾数if(strlen($subnum[0])==1 && $subnum[0]==0){$cncap=''; }else{$cncap = ($tailnum) ? $capnum[$tailnum].$capdigit[$j].$cncap : (($nonzero) ? "零".$cncap : $cncap); }$nonzero = ($tailnum) ? 1 : $nonzero;$yuan = substr($yuan,0,strlen($yuan)-1); //截去尾数$j++; }$chiao = $cent = '';$float1 = isset($subnum[1]) ? (int)substr($subnum[1],0,1) : 0;$float2 = isset($subnum[1]) ? (int)substr($subnum[1],1,1) : 0;if(!empty($cncap)){//有整数位if($float1>0 && $float2>0){$chiao = (substr($subnum[1],0,1)) ? $capnum[substr($subnum[1],0,1)]."角" : "零";$cent = (substr($subnum[1],1,1)) ? $capnum[substr($subnum[1],1,1)]."分" : "零分"; }elseif($float1>0 && $float2==0){$chiao = (substr($subnum[1],0,1)) ? $capnum[substr($subnum[1],0,1)]."角" : "零"; }elseif($float1==0 && $float2>0){$chiao= (substr($subnum[1],0,1)) ? $capnum[substr($subnum[1],0,1)]."角" : "零";$cent= (substr($subnum[1],1,1)) ? $capnum[substr($subnum[1],1,1)]."分" : "零分"; } }else{//无整数位(只有小数位)if($float1>0 && $float2>0){$chiao = $capnum[substr($subnum[1],0,1)]."角";$cent = $capnum[substr($subnum[1],1,1)]."分"; }elseif($float1>0 && $float2==0){$chiao = $capnum[substr($subnum[1],0,1)]."角"; }elseif($float1==0 && $float2>0){$cent= $capnum[substr($subnum[1],1,1)]."分"; } }if(!empty($cncap) && empty($chiao) && empty($cent)){$cncap .= '整'; }else{$cncap .= $chiao.$cent; }$cncap = preg_replace("/(零)+/","\\1",$cncap); //合并连续的零return $cncap;}
0 0
- 人民币数字转中文币制
- PHP人民币金额数字转中文大写
- 数字的人民币中文读法
- PHP人民币金额数字转中文大写的函数
- PHP人民币金额数字转中文大写的函数
- 人民币数字转汉字
- 数字转人民币大写
- 数字转人民币 方法
- 数字转人民币 方法
- 数字转人民币大写
- 人民币数字转大写
- 将人民币数字转换为中文大写
- 把人民币数字转换成中文大写
- 数字转换成中文人民币大写
- 人民币,大写中文与数字之间转换
- java实现人民币数字转换成中文
- 数字到人民币转换(转)
- 数字到人民币转换(转)
- [数据结构]排序
- 微服务、垂直面以及业务流程管理?
- 第5周项目2-建立链栈算法库
- 根据两种不同遍历结果重构二叉树
- android studio 的layout 分包机制
- 人民币数字转中文币制
- SSO之CAS单点登录实例演示
- 第7周项目3-负数把正数赶出队列
- android的autocompletetextview适配器 刷新问题
- ArcGIS网络分析
- SpringMVC+MyBitis+多数据源切换
- flash来代替eeprom
- 关于Android数据库orm工具库对比的几点思考(一)
- android CTS 介绍