PHP 实现人民币小写转换成大写的方法及大小写转换函数


Posted in PHP onNovember 17, 2017

下面一段代码给大家分享php实现人民币大小写转换的方法,具体代码如下所示:

<?php 
header("charset=utf-8;"); 
function numTrmb($num){ 
 $d = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); 
 $e = array('元', '拾', '佰', '仟', '万', '拾万', '佰万', '仟万', '亿', '拾亿', '佰亿', '仟亿'); 
 $p = array('分', '角'); 
 $zheng = "整"; 
 $final = array(); 
 $inwan = 0;//是否有万 
 $inyi = 0;//是否有亿 
 $len = 0;//小数点后的长度 
 $y = 0; 
 $num = round($num, 2);//精确到分 
 if(strlen($num) > 15){ 
 return "金额太大"; 
 die(); 
 } 
 if($c = strpos($num, '.')){//有小数点,$c为小数点前有几位 
 $len=strlen($num)-strpos($num,'.')-1;//小数点后有几位数 
 }else{//无小数点 
 $c = strlen($num); 
 $zheng = '整'; 
 } 
 for($i = 0; $i < $c; $i++){ 
 $bit_num = substr($num, $i, 1); 
 if ($bit_num != 0 || substr($num, $i + 1, 1) != 0) { 
  @$low = $low . $d[$bit_num]; 
 } 
 if ($bit_num || $i == $c - 1) { 
  @$low = $low . $e[$c - $i - 1]; 
 } 
 } 
 if($len!=1){ 
 for ($j = $len; $j >= 1; $j--) { 
  $point_num = substr($num, strlen($num) - $j, 1); 
  @$low = $low . $d[$point_num] . $p[$j - 1]; 
 } 
 }else{ 
 $point_num = substr($num, strlen($num) - $len, 1); 
 $low=$low.$d[$point_num].$p[$len]; 
 } 
 $chinses = str_split($low, 3);//字符串转化为数组 
 for ($x = count($chinses) - 1; $x >= 0; $x--) { 
 if ($inwan == 0 && $chinses[$x] == $e[4]) {//过滤重复的万 
  $final[$y++] = $chinses[$x]; 
  $inwan = 1; 
 } 
 if ($inyi == 0 && $chinses[$x] == $e[8]) {//过滤重复的亿 
  $final[$y++] = $chinses[$x]; 
  $inyi = 1; 
  $inwan = 0; 
 } 
 if ($chinses[$x] != $e[4] && $chinses[$x] !== $e[8]) { 
  $final[$y++] = $chinses[$x]; 
 } 
 } 
 $newstr = (array_reverse($final)); 
 $nstr = join($newstr); 
 if((substr($num, -2, 1) == '0') && (substr($num, -1) <> 0)){ 
 $nstr = substr($nstr, 0, (strlen($nstr) -6)).'零'. substr($nstr, -6, 6); 
 } 
 $nstr=(strpos($nstr,'零角')) ? substr_replace($nstr,"",strpos($nstr,'零角'),6) : $nstr; 
 return $nstr = (substr($nstr,-3,3)=='元') ? $nstr . $zheng : $nstr; 
} 
echo numTrmb(965002.65);

效果图:

PHP 实现人民币小写转换成大写的方法及大小写转换函数

下面看下php大小写转换函数

1.将字符串转换成小写

   strtolower(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串.

例:

<?php
 $str = "I want To FLY";
 $str = strtolower($str);
 echo $str;
?>

输出结果:

i want to fly

2.将字符转成大写

   strtoupper(): 该函数的作用同strtolower函数相反,是将传入的字符参数的字符全部转换成大

写,并以大写的形式返回这个字符串.用法同strtolowe()一样.

3.将字符串首字符转换成大写

    usfilst(): 该函数的作用是将字符串的第一个字符改成大写,该函数返回首字符大写的字符串.

用法同strtolowe()一样.

4.将字符串每个单词的首字符转换成大写

   ucwords(): 该函数将传入的字符串的每个单词的首字符变成大写.如"hello world",经过该函数

处理后,将返回"Hello Word".用法同strtolowe()一样.

总结

以上所述是小编给大家介绍的PHP 实现人民币小写转换成大写的方法及大小写转换函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP之数组学习
May 29 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
thinkphp 多表 事务详解
Jun 17 PHP
Yii框架中memcache用法实例
Dec 03 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
php将字符串转换成16进制的方法
Mar 17 PHP
php中memcache 基本操作实例
May 17 PHP
php使用COPY函数更新配置文件的方法
Jun 18 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
什么是PHP7中的孤儿进程与僵尸进程
Apr 14 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 #PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 #PHP
PHP实现链式操作的三种方法详解
Nov 16 #PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 #PHP
PHP实现验证码校验功能
Nov 16 #PHP
学习thinkphp5.0验证类使用方法
Nov 16 #PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 #PHP
You might like
PHP中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
深入了解javascript中的prototype与继承
2013/04/14 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
vue.js中npm安装教程图解
2018/04/10 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
详解JavaScript作用域 闭包
2020/07/29 Javascript
JavaScript实现点击出现子菜单效果
2021/02/08 Javascript
python机器学习之神经网络(三)
2017/12/20 Python
Python单元测试实例详解
2018/05/25 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
一个SQL面试题
2014/08/21 面试题
医学护理毕业生自荐信
2013/11/07 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
golang生成并解析JSON
2022/04/14 Golang