|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。事情中偶然会碰着必要将国民币金额,也即阿拉伯数字转化为年夜写汉字的这类情形,上面是作者经由理论总结出来的办法,特此纪录以戒备忘。- classNum2Cny{static$basical=array(0=>零,壹,贰,叁,肆,伍,陆,柒,捌,玖);static$advanced=array(1=>拾,佰,仟);publicstaticfunctionParseNumber($number){$number=trim($number);if(!is_numeric($number)intval($number)>999999999999)returnerror;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{returnself::int($number).整;}}publicstaticfunctionint($number){$arr=array_reverse(str_split($number));$data=;$zero=false;$zero_num=0;foreach($arras$k=>$v){$_chinese=;$zero=($v==0)?true:false;$x=$k%4;if($x&&$zero&&$zero_num>1)continue;switch($x){case0: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.元;}publicstaticfunctiondec($number){if(strlen($number)<2)$number.=0;$arr=array_reverse(str_split($number));$data=;$zero_num=false;foreach($arras$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;}}
复制代码 利用历程也很复杂,以下:- echoNum2Cny::ParseNumber(1234567.5);//www.Alixixi.com
复制代码 了局将输入:
壹佰贰拾叁万肆仟伍佰陆拾柒元伍角
别的申明一下的是假如仅必要将阿拉伯数字转化为年夜写的情形下,可参照本站文章:
PHP将阿拉伯数字转化为汉字的函数
学校并没有那么多的时间可以让我们在实际开发上面。 |
|