Rumah  >  Artikel  >  pembangunan bahagian belakang  >  怎样用PHP做出人名币大小写的方法转换

怎样用PHP做出人名币大小写的方法转换

php中世界最好的语言
php中世界最好的语言asal
2017-12-20 19:16:331598semak imbas

今天给大家分享的代码是怎样用PHP做出人名币的大小写转换,下面是实战案例,需要的朋友可以参考一下。

<?php
header("charset=utf-8;");
function numTrmb($num){
 $d = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");
 $e = array(&#39;元&#39;, &#39;拾&#39;, &#39;佰&#39;, &#39;仟&#39;, &#39;万&#39;, &#39;拾万&#39;, &#39;佰万&#39;, &#39;仟万&#39;, &#39;亿&#39;, &#39;拾亿&#39;, &#39;佰亿&#39;, &#39;仟亿&#39;);
 $p = array(&#39;分&#39;, &#39;角&#39;);
 $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, &#39;.&#39;)){//有小数点,$c为小数点前有几位
 $len=strlen($num)-strpos($num,&#39;.&#39;)-1;//小数点后有几位数
 }else{//无小数点
 $c = strlen($num);
 $zheng = &#39;整&#39;;
 }
 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) == &#39;0&#39;) && (substr($num, -1) <> 0)){
 $nstr = substr($nstr, 0, (strlen($nstr) -6)).&#39;零&#39;. substr($nstr, -6, 6);
 }
 $nstr=(strpos($nstr,&#39;零角&#39;)) ? substr_replace($nstr,"",strpos($nstr,&#39;零角&#39;),6) : $nstr;
 return $nstr = (substr($nstr,-3,3)==&#39;元&#39;) ? $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商品秒杀计时实现(解决大流量方案)

javascript数据类型和git使用代码详解

Atas ialah kandungan terperinci 怎样用PHP做出人名币大小写的方法转换. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP怎么实现大小写转换?Artikel seterusnya:Ajax应该如何使用