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

 更新时间:2017年11月17日 09:45:26   作者:onestopweb  
这篇文章主要介绍了PHP 实现人民币小写转换成大写的方法,大小写转换函数的使用方法介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下

下面一段代码给大家分享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大小写转换函数

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 in array

    深入php内核之php in array

    这篇文章主要介绍了深入php内核之php in array的相关资料,需要的朋友可以参考下
    2015-11-11
  • laradock环境docker-compose操作详解

    laradock环境docker-compose操作详解

    在本篇文章中小编给大家整理的是关于laradock环境docker-compose操作的相关知识点内容,有需要的朋友们参考学习下。
    2019-07-07
  • PHP微信红包API接口

    PHP微信红包API接口

    这篇文章主要介绍了PHP微信红包API接口,针对微信高级红包接口,开发PHP版本的API接口的主要代码进行分析,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • eclipse php wamp配置教程

    eclipse php wamp配置教程

    这篇文章主要为大家详细介绍了eclipse php wamp配置教程,极其简单的php入门教程,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 神盾加密解密教程(二)PHP 神盾解密

    神盾加密解密教程(二)PHP 神盾解密

    前些日子一个朋友丢了个shell给我,让我帮忙解密,打开源码看了下写着是 “神盾加密” , 牛逼闪闪的样子、 百度下发现神盾是个很古老的东西,最后一次更新是在 2012-10-09。和他相似的另一款是phpjm,有人说是神盾抄袭phpjm的,这些都不是我们所要关心的问题、phpjm一直在更新,而神盾貌似不搞了,我们分析下神盾,顺便写成工具,方便大家使用(因为他不更新,所以就不用担心解密工具失效问题了)。
    2014-06-06
  • PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)

    PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)

    这篇文章主要介绍了PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎),非常具有实用价值,需要的朋友可以参考下
    2017-07-07
  • Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源

    Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源

    前天帮同事改个十年前的网站 bug,页面上一堆 include require 不禁让人抱头痛哭。看到 V2EX 上的讨论说,写 PHP 不用框架等同于耍流氓。Yii Framework 是我使用了 2 年多的 PHP 框架,器大活好,皮实耐操。 Yii2 还在 Beta 中,不过不影响拿来预研。
    2014-06-06
  • Bootstrap+PHP实现多图上传功能实例详解

    Bootstrap+PHP实现多图上传功能实例详解

    这篇文章主要介绍了Bootstrap+PHP实现多图上传功能实例详解,本文图片加实例相结合的形式给大家介绍的非常详细,需要的朋友可以参考下
    2018-04-04
  • Laravel5.* 打印出执行的sql语句的方法

    Laravel5.* 打印出执行的sql语句的方法

    本篇文章主要介绍了Laravel5.* 打印出执行的sql语句的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • CentOS7.0下安装PHP5.6.30服务的教程详解

    CentOS7.0下安装PHP5.6.30服务的教程详解

    这篇文章主要介绍了CentOS7.0下安装PHP5.6.30服务的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09

最新评论