下面一段代码给大家分享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