PHP中实现数字金额到中文大写字符的转换

<?
function  num2rmb ( $num ){ 
$c1 = " 零壹贰叁肆伍陆柒捌玖 " ;
$c2 = " 分角元拾佰仟万拾佰仟亿 " ;

$num = round ( $num , 2 );
$num = $num * 100 ;
if ( strlen ( $num ) > 10 ){
return   " oh,sorry,the number is too long! " ;
}

$i = 0 ;
$c = "" ;

while  ( 1 ){
if ( $i == 0 ){
$n = substr ( $num , strlen ( $num ) - 1 , 1 );
}
else {
$n = $num   % 10 ;
}

$p1 = substr ( $c1 , 2 * $n , 2 );
$p2 = substr ( $c2 , 2 * $i , 2 );
if ( $n != ' 0 '   ||  ( $n == ' 0 '   && ( $p2 == ' 亿 '   ||   $p2 == ' '   ||   $p2 == ' '  ))){ 
$c = $p1 . $p2 . $c ;
}
else {
$c = $p1 . $c ;


$i = $i + 1 ;
$num = $num / 10 ;
$num = (int) $num ;

if ( $num == 0 ){
break ;
}
}
// end of while|  here, we got a chinese string with some useless character


$j   =   0
$slen = strlen ( $c );
while  ( $j < $slen ) {
$m   =   substr ( $c , $j , 4 );

if  ( $m == ' 零元 '   ||   $m == ' 零万 '   ||   $m == ' 零亿 '   ||   $m == ' 零零 ' ){
$left = substr ( $c , 0 , $j );
$right = substr ( $c , $j + 2 );  
$c   =   $left . $right ;     
$j   =   $j - 2 ;
$slen   =   $slen - 2
}   
$j = $j + 2 ;
}

if ( substr ( $c , strlen ( $c ) - 2 , 2 ) == ' ' ){
$c = substr ( $c , 0 , strlen ( $c ) - 2 );
}  
//  if there is a '0' on the end , chop it out

return   $c . " " ;
}
//  end of function
?>
< form id = " form1 "  name = " form1 "  method = " get "  action = " 1.php " >
  
< label >
  
< input name = " textfield "  type = " text "  value = ""   />
  
< input type = " submit "  name = " Submit "  value = " 提交 "   />
  
</ label >
</ form >

<?
$out = num2rmb( $_GET [ " textfield " ]);
echo   $out ;
?>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值