数字转换中文
php代码
<?php class TransFormNumber{ public $chinaData = array('1'=>'壹','2'=>'贰','3'=>'叁','4'=>'肆','5'=>'伍','6'=>'陆','7'=>'柒','8'=>'捌','9'=>'玖'); public $chinaDataInt = array('1'=>'元','2'=>'拾','3'=>'佰','4'=>'仟','5'=>'万','6'=>'拾','7'=>'佰','8'=>'仟','9'=>'亿','10'=>'拾','11'=>'佰','12'=>'仟','13'=>'万'); public $chinaDataFloat = array('1'=>'角','2'=>'分'); private $Intnumber; // string private $Floatnumber; // string public $error = array('0'=>'零','def'=>'数据格式不支持'); public function __construct($intnumber,$floatnumber){ $this->Intnumber = $intnumber; $this->Floatnumber = $floatnumber; } /*13位整数*/ public function getTransInt(){ $this->Intnumber = intval($this->Intnumber); $len = strlen($this->Intnumber); if($len > 13){ return $this->errorNotice(1); } if($this->Intnumber == 0){ return $this->errorNotice('def'); } $intData = strrev(substr($this->Intnumber,0,$len)); $data = $this->setTransInt($intData,$len); krsort($data); $str = rtrim(join($data,''),'零'); if(substr($this->Intnumber,$len-1,1) == 0){ $str.='元'; } unset($data); return $str; } public function getTransFloat(){ return $this->setTransFloat($this->Floatnumber,strlen($this->Floatnumber)); } private function setTransInt($intData,$pos){ for($i=0;$i<$pos;$i++){ $oneData = substr($intData,$i,1); if(($i == 4 || ($i%8) == 4) && $oneData == 0){ if(substr($intData,$i+1,1) == 0 && substr($intData,$i+2,1) == 0 && substr($intData,$i+3,1) == 0){ if(substr($intData,$i-1,1) == 0){ continue; }else{ $data[] = '零'; } }else{ $data[] = '万'; continue; } continue; } if($i%8 == 0 && $i != 0 && $oneData == 0){ $data[] = '亿'; } if($oneData == 0){ if(($i == 4 || $i == 7)){ if((substr($intData,$i-1,1) ==0)){ continue; }else{ $data[] = '零'; } }else{ if(substr($intData,$i-1,1) !=0 && $i !=3 && $i != 8){ $data[] = '零'; }else{ if($i == 3 && substr($intData,$i,1) == 0 && substr($intData,$i-1,1) != 0){ $data[] = '零'; } } } }else{ $data[] = $this->chinaData[$oneData].$this->chinaDataInt[$i+1]; } } unset($intData,$oneData,$i); return $data; } //紧支持两位小数 private function setTransFloat($floatData,$pos){ if($pos > 2){ return $this->errorNotice('def'); } if($floatData{0} == 0){ $data[] = '零'; }else{ $data[] = $this->chinaData[$floatData{0}].$this->chinaDataFloat[1]; } if($floatData{1} != 0 ){ $data[] = $this->chinaData[$floatData{1}].$this->chinaDataFloat[2]; } return implode('',$data); } public function errorNotice($error){ return $this->error[$error]; } } $num = new TransFormNumber('100228030','80'); echo $num->getTransInt(); echo $num->getTransFloat();
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前
By DDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前
By DDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前
By DDD
刺客信条阴影 - 如何找到铁匠,解锁武器和装甲定制
1 个月前
By DDD
<🎜>:死铁路 - 如何完成所有挑战
3 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)
