余分なゼロをいくつか削除しました"zero","one","two","three","four","five","six","seven","eight","nine"); // var $ Basical=array(0=>「ゼロ」、「一」、「二」、「三」、「四」、「五」、「鲁」、「七」、「八」、「九」); Advanced=array(1=>"十","百","千"); //var $advanced=array(1=>"十","百","千"); 1=>"10,000","100 million"); // 4 桁を 1 レベルとして使用 // 最初に変換関数を実装します ParseNumber($number) { if ($number>999999999999 ) // のみ処理可能最大1000億まで。 return "数値が大きすぎて処理できません。申し訳ありません!"; if ($number==0) return "ゼロ"; $this->level=0;$number>0.0001;$this->level++,$number = Floor($number / 10000)) { // 中国語の場合、4 桁のグループにする必要があります。 // 4 つの変数はそれぞれ、1、10、100、1000 に対応します。 $n1=substr($number,-1,1); if($number>9) $n2=substr($number,-2,1); else $n2=0; =substr($number,-3,1); else $n3=0; if($number>999) $n4=substr($number,-4,1); else $n4=0; $parsed[$this->level].=$this->basical[$n4].$this->advanced[3]; else if(($number/10000)>=1) // 千の位は 0、値が 9999 より大きい場合 $parsed[$this->level].="zero"; if($n3) $parsed[$this->level].=$this->basical[$n3].$this -> Advanced[2]; else if(!ereg("zero$",$parsed[$this->level]) && ($number / 1000)>=1) // 2 つの連続する「ゼロ」はありません $ parsed[$this->level].="zero"; if($n2) $parsed[$this->level].=$this->basical[$n2].$this->advanced[1]; if(!ereg("zero$",$parsed[$this->level]) && ($number / 100)>=1) // 2 つ連続する「ゼロ」はありません $parsed[$this-> level] .="ゼロ"; if($n1) $parsed[$this->level].=$this->basical[$n1]; if($parsed[$this->level]!="zero" ) { if(ereg("zero$",$parsed[$this->level])) $parsed[$this->level]=substr($parsed[$this->level],0,strlen($parsed [$ this->level])-2); if($this->level>0) $result=$parsed[$this->level].$this->top[$this->level].$result ; $result=$parsed[$this->level].$result; } } //for($this->level-=1;$this->level>=0;$this->level--) // { // $result.=$parsed[$this->level].$this->top[$this->level] //} //if(ereg("zero$",$result)) // $result=substr($result,0,strlen($result)-2); $result; $c=new ChineseNumber(); ?>