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 引用是个坏习惯
Mar 12 PHP
PHP 中文处理技巧
Apr 25 PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
PHP+Mysql+jQuery实现动态展示信息
Oct 08 PHP
PHP防CC攻击实现代码
Dec 29 PHP
很让人受教的 提高php代码质量36计
Sep 05 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
May 08 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
Laravel使用消息队列需要注意的一些问题
Dec 13 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
PHP全局使用Laravel辅助函数dd
Dec 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
js中位运算的运用实例分析
2018/12/11 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
python实现最大优先队列
2019/08/29 Python
python实现批量文件重命名
2019/10/31 Python
将python依赖包打包成window下可执行文件bat方式
2019/12/26 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
设计师大码女装:11 Honoré
2020/05/03 全球购物
2014年军人思想汇报范文
2014/10/12 职场文书
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技