ホームページ > バックエンド開発 > PHPチュートリアル > この関数は、小文字の整数値から中国語の大文字への変換のみをサポートします。

この関数は、小文字の整数値から中国語の大文字への変換のみをサポートします。

WBOY
リリース: 2016-07-25 09:07:19
オリジナル
1418 人が閲覧しました
  1. /*

  2. 小文字の整数から中国語の大文字への変換のみをサポートします
  3. */
  4. class ChineseNumber
  5. {
  6. //var $basical=array(0=>"zero") ,"1","2","3","4","5","6","7","8","9");
  7. var $basical=array(0=>"ゼロ、「一」、「二」、「三」、「四」、「五」、「呂」、「旒」、「八」、「玖」);
  8. //var $advanced=array(1) =>"十","百","千");
  9. var $advanced=array(1=>"十","百","千");
  10. var $top=array(1=> ;"10,000","100 million");

  11. var $level; // 4 桁を 1 レベルとして使用します

  12. // 最初に 10,000 レベルの数値を実装しますconversion

  13. function small2big($number)
  14. {
  15. if ($number>999999999999) // 数千億しか処理できません。
  16. return "数値が大きすぎて処理できません。申し訳ありません!";
  17. if ($number==0)
  18. return "zero";

  19. for($this->level=0) ; $number>0.0001;$this->level++,$number=floor($number / 10000))

  20. {
  21. // 中国語の場合、4 桁のグループにする必要があります。
  22. // 4 つの変数はそれぞれ、単位、数十、数百、数千に対応します。
  23. $n1=substr($number,-1,1);
  24. if($number>9)
  25. $n2=substr($number,-2,1);
  26. else
  27. $n2=0;
  28. if($ number>99)
  29. $n3=substr($number,-3,1);
  30. else
  31. $n3=0;
  32. if($number>999)
  33. $n4=substr($number,-4,1);
  34. else
  35. $n4=0;

  36. if($n4)

  37. $parsed[$this->level].=$this->basical[$n4].$this- >advanced[3];
  38. else
  39. if(($number/10000)>=1) // 3000 の位は 0 で、値は 9999 より大きいです
  40. $parsed[$this->level].= "ゼロ ";
  41. if($n3)
  42. $parsed[$this->level].=$this->basical[$n3].$this->advanced[2];
  43. else
  44. if(! ereg( "Zero$",$parsed[$this->level]) && ($number / 1000)>=1) // 2 つ連続する "ゼロ" はありません
  45. $parsed[$this->レベル ].="ゼロ";
  46. if($n2)
  47. $parsed[$this->レベル].=$this->基本[$n2].$this->上級[1];
  48. else
  49. if(!ereg("zero$",$parsed[$this->level]) && ($number / 100)>=1) //2 つ連続する "ゼロ" は存在しません
  50. $parsed[$ this->level].="zero";
  51. if($n1)
  52. $parsed[$this->level].=$this->basical[$n1];
  53. }
  54. for($this- >level-=1;$this->level>=0;$this->level--)
  55. {
  56. $result.=$parsed[$this->level].$this->top [$this->level];
  57. }

  58. if(ereg("zero$",$result))

  59. $result=substr($result,0,strlen($result) -2);

  60. return $result;

  61. }
  62. };

  63. $big=new ChineseNumber();

  64. echo $big->small2big( 1311);
  65. ?>

コードをコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート