효율적인 위안화 금액 변환 프로그램 PHP 버전
풀어 주다: 2016-07-25 08:43:23
-
- //人民币金额转大写程序PHP版
- class Ext_Num2Cny{
- static $basical = array(0=>"零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
- static $advanced=array(1=>"拾","佰","仟");
-
- public static function ParseNumber($number){
- $number=trim($number);
- if ($number>999999999999) return "数字太大,无法处理。抱歉!";
- if ($number==0) return "零";
- if(strpos($number,'.')){
- $number=round($number,2);
- $data=explode(".",$number);
- $data[0]=self::int($data[0]);
- $data[1]=self::dec($data[1]);
- return $data[0].$data[1];
- }else{
- return self::int($number).'整';
- }
- }
-
- public static function int($number){
- $arr=array_reverse(str_split($number));
- $data='';
- $zero=false;
- $zero_num=0;
- foreach ($arr as $k=>$v){
- $_chinese='';
- $zero=($v==0)?true:false;
- $x=$k%4;
- if($x && $zero && $zero_num>1)continue;
- switch ($x){
- case 0:
- if($zero){
- $zero_num=0;
- }else{
- $_chinese=self::$basical[$v];
- $zero_num=1;
- }
- if($k==8){
- $_chinese.='亿';
- }elseif($k==4){
- $_chinese.='万';
- }
- break;
- default:
- if($zero){
- if($zero_num==1){
- $_chinese=self::$basical[$v];
- $zero_num ;
- }
- }else{
- $_chinese=self::$basical[$v];
- $_chinese.=self::$advanced[$x];
- }
- }
- $data=$_chinese.$data;
- }
- return $data.'元';
- }
-
- public static function dec($number){
- if(strlen($number)<2) $number.='0';
- $arr=array_reverse(str_split($number));
- $data='';
- $zero_num=false;
- foreach ($arr as $k=>$v){
- $zero=($v==0)?true:false;
- $_chinese='';
- if($k==0){
- if(!$zero){
- $_chinese=self::$basical[$v];
- $_chinese.='分';
- $zero_num=true;
- }
- }else{
- if($zero){
- if($zero_num){
- $_chinese=self::$basical[$v];
- }
- }else{
- $_chinese=self::$basical[$v];
- $_chinese.='角';
- }
- }
- $data=$_chinese.$data;
- }
- return $data;
- }
- }
-
-
复制代码
|
PHP
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31