fork(3) download
  1. <?php
  2.  
  3. function spellSmallNumber($num) {
  4. $result = array();
  5. $spelling = array(
  6. 0 => 'ноль', 10 => 'десять', 100 => 'сто',
  7. 1 => 'один', 11 => 'одиннадцать', 20 => 'двадцать', 200 => 'двести',
  8. 2 => 'два', 12 => 'двенадцать', 30 => 'тридцать', 300 => 'триста',
  9. 3 => 'три', 13 => 'тринадцать', 40 => 'сорок', 400 => 'четыреста',
  10. 4 => 'четыре', 14 => 'четырнадцать', 50 => 'пятьдесят', 500 => 'пятьсот',
  11. 5 => 'пять', 15 => 'пятнадцать', 60 => 'шестьдесят', 600 => 'шестьсот',
  12. 6 => 'шесть', 16 => 'шестнадцать', 70 => 'семьдесят', 700 => 'семьсот',
  13. 7 => 'семь', 17 => 'семнадцать', 80 => 'восемьдесят', 800 => 'восемьсот',
  14. 8 => 'восемь', 18 => 'восемнадцать', 90 => 'девяносто', 900 => 'девятьсот',
  15. 9 => 'девять', 19 => 'девятнадцать'
  16. );
  17.  
  18. $femaleSpelling = array(
  19. 1 => 'одна', 2 => 'две'
  20. );
  21.  
  22. if ($num == 0) {
  23. return $num;
  24. }
  25.  
  26.  
  27. $hundWithoutDec = floor($num / 100) * 100; //убирает десятки у сотен
  28. if($hundWithoutDec != 0) {
  29. array_push($result, $spelling[$hundWithoutDec]);
  30. }
  31. $hundDec = $num % 100; // оставляет только десятки
  32. if($hundDec >= 11 and $hundDec <=19) {
  33. array_push($result, $spelling[$hundDec]);
  34. } elseif($hundDec != 0) {
  35. $hundDecWithoutOne = floor($hundDec / 10) * 10; //десятки без единиц
  36. if($hundDecWithoutOne != 0) {
  37. array_push($result, $spelling[$hundDecWithoutOne]);
  38. }
  39.  
  40. $hundOne = $hundDec % 10;
  41.  
  42. if ($hundOne != 0) {
  43. array_push($result, $spelling[$hundOne]);
  44. }
  45. }
  46.  
  47. $text = implode(' ', $result);
  48. return $text;
  49. }
  50.  
  51. $v = spellSmallNumber(001);
  52. echo "$v\n";
  53. echo"--------------------------------\n";
  54.  
  55. $w = spellSmallNumber(101);
  56. echo "$w\n";
  57. echo"--------------------------------\n";
  58.  
  59. $x = spellSmallNumber(056);
  60. echo "$x\n";
  61. echo"--------------------------------\n";
  62.  
  63. $y = spellSmallNumber(066);
  64. echo "$y\n";
  65. echo"--------------------------------\n";
  66.  
  67. $z = spellSmallNumber(156);
  68. echo "$z\n";
  69. echo"--------------------------------\n";
  70.  
Success #stdin #stdout 0.02s 23860KB
stdin
Standard input is empty
stdout
один
--------------------------------
сто один
--------------------------------
сорок шесть
--------------------------------
пятьдесят четыре
--------------------------------
сто пятьдесят шесть
--------------------------------