下面一段代码给大家分享php实现人民币大小写转换的方法,具体代码如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
<?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(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串.
例:
1
2
3
4
5
|
<?php $str = "i want to fly" ; $str = strtolower ( $str ); echo $str ; ?> |
输出结果:
1
|
i want to fly |
2.将字符转成大写
strtoupper(): 该函数的作用同strtolower函数相反,是将传入的字符参数的字符全部转换成大
写,并以大写的形式返回这个字符串.用法同strtolowe()一样.
3.将字符串首字符转换成大写
usfilst(): 该函数的作用是将字符串的第一个字符改成大写,该函数返回首字符大写的字符串.
用法同strtolowe()一样.
4.将字符串每个单词的首字符转换成大写
ucwords(): 该函数将传入的字符串的每个单词的首字符变成大写.如"hello world",经过该函数
处理后,将返回"hello word".用法同strtolowe()一样.
PS:推荐一款本站的在线工具: 人民币大小写转换|人民币大写转换器
总结
以上所述是小编给大家介绍的php 实现人民币小写转换成大写的方法及大小写转换函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://onestopweb.iteye.com/blog/2399920