一个数字小写转大写的PHP类
328496647
![]()
|
1#
328496647 发表于2009-04-23
一个数字小写转大写的PHP类
自己写的一个不太规则的类,欢迎大家指出错误,测试出错误。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script type="text/javascript"> <!-- function lengths(){ values = document.form1.key.value; len = values.length; if(len>12){ document.form1.key.value = values.substr(0,12); } setTimeout("lengths()",10); } //--> </script> </head> <body> <?php //////////////////////////////////// ///用类写一个数字小写转大写的程序/// ///初学乍到,第一次使用对象,这个/// ///类写的也是长篇大论,我是新手,/// ///呵呵,见笑了!感谢高手指教 /// //////////////////////////////////// class product{ public $math=123456; private $ten=array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); private $unit=array("拾","佰","仟","万","亿"); public function yesno(){ $mt=trim($this->math); $mts=$mt; $len=strlen($mts); $this->eregs($mt,$len); } private function eregs($a,$b){ if($b<5){ $math1 = $a; echo $this->geta($math1,$len); } if($b>4 && $b<9){ $math1 = substr($a,0,$b-4); $math2 = substr($a,-4); $zeor = substr($a,-4); if($zeor=="0000"){ echo $this->geta($math1,$len).$this->unit[3]; }else{ echo $this->geta($math1,$len).$this->unit[3].$this->geta($math2,$len); } } if($b>8){ $math1 = substr($a,0,$b-8); $math2 = substr($a,-8,4); $math3 = substr($a,-4); $zeor = substr($a,-8,4); $zeor1 = substr($a,-4); $zeor2 = substr($a,-4,1); if($zeor=="0000" && $zeor1=="0000"){ echo $this->geta($math1,$len).$this->unit[4]; } if($zeor=="0000" && $zeor1!="0000" && $zeor2==="0"){ echo $this->geta($math1,$len).$this->unit[4].$this->geta($math3,$len); } if($zeor=="0000" && $zeor1!="0000" && $zeor2!=="0"){ echo $this->geta($math1,$len).$this->unit[4].$this->ten[0].$this->geta($math3,$len); } if($zeor!=="0000" && $zeor1!=="0000"){ echo $this->geta($math1,$len).$this->unit[4].$this->geta($math2,$len).$this->unit[3].$this->geta($math3,$len); } } } private function geta($maths,$h){ $len = strlen($maths); if($len === 1){ $m1 = $maths; return $this->unit($m1); } if($len == 2){ $m1 = substr($maths,0,1); $m2 = substr($maths,-1); if($m1==="0" && $m2!=="0"){ // 01 return $this->unit($m2); } if($m1==="0" && $m2==="0"){ // 00 return ; } if($m1!=="0" && $m2==="0"){ // 10 return $this->unit($m1).$this->unit[0]; } if($m1!=="0" && $m2!=="0"){ // 11 return $this->unit($m1).$this->unit[0].$this->unit($m2); } } ////////////////////////////////////////////////////2 if($len == 3){ $m1 = substr($maths,0,1); $m2 = substr($maths,1,1); $m3 = substr($maths,-1); if($m1==="0" && $m2==="0" && $m3==="0"){ // 000 return ; } if($m1==="0" && $m2!=="0" && $m3!=="0"){ // 012 return $this->unit($m2).$this->unit[0].$this->unit($m3); } if($m1==="0" && $m2==="0" && $m3!=="0"){ // 001 return $this->unit($m3); } if($m1==="0" && $m2!=="0" && $m3==="0"){ // 010 return $this->unit($m2).$this->unit[0]; } if($m1!=="0" && $m2==="0" && $m3==="0"){ // 100 return $this->unit($m1).$this->unit[1]; } if($m1!=="0" && $m2!=="0" && $m3==="0"){ // 120 return $this->unit($m1).$this->unit[1].$this->unit($m2).$this->unit[0]; } if($m1!=="0" && $m2==="0" && $m3!=="0"){ // 102 return $this->unit($m1).$this->unit[1].$this->unit($m2).$this->unit($m3); } if($m1!=="0" && $m2!=="0" && $m3!=="0"){ // 123 return $this->unit($m1).$this->unit[1].$this->unit($m2).$this->unit[0].$this->unit($m3); } } /////////////////////////////////////////////////////////3 if($len == 4){ //112,0000,0234 $m1 = substr($maths,0,1); $m2 = substr($maths,1,1); $m3 = substr($maths,2,1); $m4 = substr($maths,-1); if($m1==="0" && $m2!=="0" && $m3!=="0" && $m4!=="0"){ // 0123 return $this->unit($m1).$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit[0].$this->unit($m4); } if($m1!=="0" && $m2==="0" && $m3!=="0" && $m4!=="0"){ // 1023 return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit($m3).$this->unit[0].$this->unit($m4); } if($m1!=="0" && $m2!=="0" && $m3==="0" && $m4!=="0"){ // 1203 return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit($m4); } if($m1!=="0" && $m2!=="0" && $m3!=="0" && $m4==="0"){ // 1230 return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit[0]; } if($m1==="0" && $m2==="0" && $m3!=="0" && $m4!=="0"){ // 0012 return $this->unit($m2).$this->unit($m3).$this->unit[0].$this->unit($m4); } if($m1!=="0" && $m2==="0" && $m3==="0" && $m4!=="0"){ // 1002 return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit($m4); } if($m1!=="0" && $m2!=="0" && $m3==="0" && $m4==="0"){ // 1200 return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit[1]; } if($m1==="0" && $m2!=="0" && $m3!=="0" && $m4==="0"){ // 0120 return $this->unit($m1).$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit[0]; } if($m1!=="0" && $m2==="0" && $m3==="0" && $m4!=="0"){ // 1002 return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit($m4); } if($m1==="0" && $m2!=="0" && $m3==="0" && $m4!=="0"){ // 0102 return $this->unit($m1).$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit($m4); } if($m1!=="0" && $m2==="0" && $m3!=="0" && $m4==="0"){ // 1020 return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit($m3).$this->unit[0]; } if($m1!=="0" && $m2==="0" && $m3==="0" && $m4==="0"){ // 1000 return $this->unit($m1).$this->unit[2]; } if($m1==="0" && $m2!=="0" && $m3==="0" && $m4==="0"){ // 0100 return $this->unit($m1).$this->unit($m2).$this->unit[1]; } if($m1==="0" && $m2==="0" && $m3!=="0" && $m4==="0"){ // 0010 return $this->unit($m1).$this->unit($m3).$this->unit[0]; } if($m1==="0" && $m2==="0" && $m3==="0" && $m4!=="0"){ // 0001 return $this->unit($m1).$this->unit($m4); } if($m1==="0" && $m2==="0" && $m3==="0" && $m4==="0"){ // 0000 return $this->unit($m1); } if($m1!=="0" && $m2!=="0" && $m3!=="0" && $m4!=="0"){ // 1234 return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit[0].$this->unit($m4); } } } private function unit($ta){ switch($ta){ case "0":return $this->ten[0];break; case "1":return $this->ten[1];break; case "2":return $this->ten[2];break; case "3":return $this->ten[3];break; case "4":return $this->ten[4];break; case "5":return $this->ten[5];break; case "6":return $this->ten[6];break; case "7":return $this->ten[7];break; case "8":return $this->ten[8];break; case "9":return $this->ten[9];break; } } } ?> <div style="width:700px;height:25px;padding-top:4px;border:#999999 solid 1px;color:#FF0000;font-weight: bold" id="txt"> <?php if(!empty($_POST['key'])){ $abc=new product(); $abc->math=trim($_POST['key']); $abc->yesno(); } ?> </div> <form id="form1" name="form1" method="post" action=""> <label> <input type="text" name="key" onfocus="lengths();javacript:if(this.value='请输入数字')this.value='';" onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;" value="请输入数字" /> </label> <label> <input type="submit" name="Submit" value="提交" /> </label> </form> </body> </html> |