PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (6): « 1 2 3 4 5 [6]

> Найдено сообщений: 84
7erj Отправлено: 28 Января, 2015 - 16:34:02 • Тема: Преобразовать число в текст • Форум: Вопросы новичков

Ответов: 7
Просмотров: 377
GoDr пишет:
http://habrahabr.ru/post/53210/

Не работает у меня почему-то
Вот исходник:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. /**
  4.  * Возвращает сумму прописью
  5.  * @author runcore
  6.  * @uses morph(...)
  7.  */
  8. function num2str($num) {
  9.     $nul='ноль';
  10.     $ten=array(
  11.         array('','один','два','три','четыре','пять','шесть','семь', 'восемь','девять'),
  12.         array('','одна','две','три','четыре','пять','шесть','семь', 'восемь','девять'),
  13.     );
  14.     $a20=array('десять','одиннадцать','двенадцать','тринадцать','четырнадцать' ,'пятнадцать','шестнадцать','семнадцать','восемнадцать','девятнадцать');
  15.     $tens=array(2=>'двадцать','тридцать','сорок','пятьдесят','шестьдесят','семьдесят' ,'восемьдесят','девяносто');
  16.     $hundred=array('','сто','двести','триста','четыреста','пятьсот','шестьсот', 'семьсот','восемьсот','девятьсот');
  17.     $unit=array( // Units
  18.         array('копейка' ,'копейки' ,'копеек',    1),
  19.         array('рубль'   ,'рубля'   ,'рублей'    ,0),
  20.         array('тысяча'  ,'тысячи'  ,'тысяч'     ,1),
  21.         array('миллион' ,'миллиона','миллионов' ,0),
  22.         array('миллиард','милиарда','миллиардов',0),
  23.     );
  24.     //
  25.     list($rub,$kop) = explode('.',sprintf("%015.2f", floatval($num)));
  26.     $out = array();
  27.     if (intval($rub)>0) {
  28.         foreach(str_split($rub,3) as $uk=>$v) { // by 3 symbols
  29.             if (!intval($v)) continue;
  30.             $uk = sizeof($unit)-$uk-1; // unit key
  31.             $gender = $unit[$uk][3];
  32.             list($i1,$i2,$i3) = array_map('intval',str_split($v,1));
  33.             // mega-logic
  34.             $out[] = $hundred[$i1]; # 1xx-9xx
  35.            if ($i2>1) $out[]= $tens[$i2].' '.$ten[$gender][$i3]; # 20-99
  36.            else $out[]= $i2>0 ? $a20[$i3] : $ten[$gender][$i3]; # 10-19 | 1-9
  37.            // units without rub & kop
  38.             if ($uk>1) $out[]= morph($v,$unit[$uk][0],$unit[$uk][1],$unit[$uk][2]);
  39.         } //foreach
  40.     }
  41.     else $out[] = $nul;
  42.     $out[] = morph(intval($rub), $unit[1][0],$unit[1][1],$unit[1][2]); // rub
  43.     $out[] = $kop.' '.morph($kop,$unit[0][0],$unit[0][1],$unit[0][2]); // kop
  44.     return trim(preg_replace('/ {2,}/', ' ', join(' ',$out)));
  45. }
  46.  
  47. /**
  48.  * Склоняем словоформу
  49.  * @ author runcore
  50.  */
  51. function morph($n, $f1, $f2, $f5) {
  52.     $n = abs(intval($n)) % 100;
  53.     if ($n>10 && $n<20) return $f5;
  54.     $n = $n % 10;
  55.     if ($n>1 && $n<5) return $f2;
  56.     if ($n==1) return $f1;
  57.     return $f5;
  58. }
  59. ?>
  60.  
  61.  
  62. <? include ('Z:\home\test1.ru\www\report_include\calculation\coefficients_fittnes_analagues.php'); ?>
  63. <p>Розрахунок коефіцієнтів корегування на технічний стан:</p>
  64. <? include ('Z:\home\test1.ru\www\report_include\calculation\calculation_adjustment_technical_condition.php'); ?>
  65.  
  66. <? include ('Z:\home\test1.ru\www\report_include\calculation\calculation_adjusted_value_comparison.php'); ?>
  67. ПДВ <? echo min($onecorrectcostcom, $twocorrectcostcom, $threecorrectcostcom, $forcorrectcostcom, $fivecorrectcostcom); ?> &ndash; <? echo max($onecorrectcostcom, $twocorrectcostcom, $threecorrectcostcom, $forcorrectcostcom, $fivecorrectcostcom); ?> дол. США за 1 м<sup>2</sup>.</p>
  68.  
  69. оцінка складає:</p>
  70. <p>&emsp;&emsp;<? echo round(($onecorrectcostcom + $twocorrectcostcom + $threecorrectcostcom + $forcorrectcostcom + $fivecorrectcostcom) / 5, 2);?> * <? echo $oogrossarea; ?> = <? echo round((($onecorrectcostcom + $twocorrectcostcom + $threecorrectcostcom + $forcorrectcostcom + $fivecorrectcostcom) / 5) * $oogrossarea, 2)?> (<? num2str(24578);?>) або по курсу долара <? echo $dollar; ?> грн. / 1 дол. США:</p>
  71. <p>&emsp;&emsp;<? echo round((($onecorrectcostcom + $twocorrectcostcom + $threecorrectcostcom + $forcorrectcostcom + $fivecorrectcostcom) / 5) * $oogrossarea, 2) ?> * <? echo $dollar; ?> = <? echo round((($onecorrectcostcom + $twocorrectcostcom + $threecorrectcostcom + $forcorrectcostcom + $fivecorrectcostcom) / 5) * $oogrossarea * $dollar, 2) ?> гривні (сума прописом).</p>
  72.  
  73.  
7erj Отправлено: 28 Января, 2015 - 03:44:20 • Тема: Преобразовать число в текст • Форум: Вопросы новичков

Ответов: 7
Просмотров: 377
Доброй ночи!
Подскажите варианты согласно которым можно преобразовать написанное число в текстовое выражение.
Пример:
CODE (html):
скопировать код в буфер обмена
  1. 123 => Сто двадцать три

Искал много способов но их мало, а те что есть не работают или руки у меня кривые (что скрывать) Улыбка
Спасибо заранее
7erj Отправлено: 28 Января, 2015 - 00:49:53 • Тема: Среднее число • Форум: Вопросы новичков

Ответов: 8
Просмотров: 348
armancho7777777 пишет:
del
Не заметил дополнение к задаче...

Простите..?
(Добавление)
Закрывайте тему. Чтоб флуд не пошел. Во всем разобрались. Спасибо.
7erj Отправлено: 27 Января, 2015 - 23:33:57 • Тема: Среднее число • Форум: Вопросы новичков

Ответов: 8
Просмотров: 348
OrmaJever пишет:
PHP:
скопировать код в буфер обмена
  1. $nums = array(100, 200, 300);
  2. sort($nums);
  3. echo $nums[1];


Боже, человек. Я тебе цветы вышлю Улыбка Улыбка Улыбка
Аллилуйя. Спасибо большое!
7erj Отправлено: 27 Января, 2015 - 22:53:41 • Тема: Среднее число • Форум: Вопросы новичков

Ответов: 8
Просмотров: 348
SAD пишет:
Что значит среднее??
Если у вас 1, 2, 3, 4, 5, 6

Какое тут среднее будет?

Имеются 3 варианта, из них нужно выбрать среднее число. Я пример выше написал: 100, 200 и 300
Нужно что бы программа выбрала 200
7erj Отправлено: 27 Января, 2015 - 21:45:39 • Тема: Среднее число • Форум: Вопросы новичков

Ответов: 8
Просмотров: 348
Мелкий пишет:
Среднее арифметическое? array_sum / count

Вы имеете в виду сумму поделить на 2? Мне не такое надо
А именно что бы из готового перечня результатом программа выбрала то которое уже является средним. Как я описал все в примере
7erj Отправлено: 27 Января, 2015 - 21:19:44 • Тема: Среднее число • Форум: Вопросы новичков

Ответов: 8
Просмотров: 348
У меня есть 3 значения: 100, 200 и 300
Для того что-бы из данного списка вывести максимальное значение я использовал выражение max() - Получил соответственно 300
Для минимального min() - Получил соответственно 100
Как мне получить среднее число из перечисленных? В данном случае 200???
Подскажите пожалуйста. Заранее благодарен
7erj Отправлено: 24 Января, 2015 - 20:31:58 • Тема: Математическая операция и switch • Форум: Вопросы новичков

Ответов: 1
Просмотров: 107
Проблему решил следующим образом:
PHP:
скопировать код в буфер обмена
  1.  
  2.                                 switch ($onekstan) {
  3.                                         case '1great':
  4.                                                 echo '1;';
  5.                                                 $oneres = 1;
  6.                                                 break;
  7.                                         case '1good':
  8.                                                 echo '0,9;';
  9.                                                 $oneres = 0.9;
  10.                                                 break;
  11.                                         case '1satisfactory':
  12.                                                 echo '0,7;';
  13.                                                 $oneres = 0.7;
  14.                                                 break;
  15.                                         case '1unsatisfactory':
  16.                                                 echo '0,5;';
  17.                                                 $oneres = 0.5;
  18.                                                 break;
  19.                                         case '1decrepit':
  20.                                                 echo '0,3;';
  21.                                                 $oneres = 0.3;
  22.                                                 break;
  23.                                         case '1notapplicable':
  24.                                                 echo '0,1;';
  25.                                                 $oneres = 0.1;
  26.                                                 break;
  27.                                         default:
  28.                                                 echo 'Ви не обрали технічний стан';
  29.                                 }
  30. // С $ookstan тоже самое сделал
  31. echo $oores / $oneres;
  32.                                

Благодарю. Тема закрыта.
7erj Отправлено: 24 Января, 2015 - 18:15:00 • Тема: Математическая операция и switch • Форум: Вопросы новичков

Ответов: 1
Просмотров: 107
Добрый день! Есть одна проблема. У меня есть 2 switch операции, они выводят из <select> нужный мне параметр. Вот только php я толком не знаю и вопрос заключается в следующем:
2 switch выводят по параметру. Как мне их поделить? Переменную switch'у приделать я не могу, и тупо поделить switch на switch не могу? Как быть?
Заранее благодарен!
Слеш посреди свичей это моя попытка поделить. Просьба: Сильно не смейтесь Улыбка
Исходник:
PHP:
скопировать код в буфер обмена
  1. switch ($ookstan) {
  2.                                         case 'oogreat':
  3.                                                 echo '0';
  4.                                                 break;
  5.                                         case 'oogood':
  6.                                                 echo '0,9';
  7.                                                 break;
  8.                                         case 'oosatisfactory':
  9.                                                 echo '0,7';
  10.                                                 break;
  11.                                         case 'oounsatisfactory':
  12.                                                 echo '0,5';
  13.                                                 break;
  14.                                         case 'oodecrepit':
  15.                                                 echo '0,3';
  16.                                                 break;
  17.                                         case 'oonotapplicable':
  18.                                                 echo '0,1';
  19.                                                 break;
  20.                                         default:
  21.                                                 echo 'Ви не обрали технічний стан';
  22.                                 }
  23.                                 /
  24. switch ($onekstan) {
  25.                                         case '1great':
  26.                                                 echo '1;';
  27.                                                 break;
  28.                                         case '1good':
  29.                                                 echo '0,9;';
  30.                                                 break;
  31.                                         case '1satisfactory':
  32.                                                 echo '0,7;';
  33.                                                 break;
  34.                                         case '1unsatisfactory':
  35.                                                 echo '0,5;';
  36.                                                 break;
  37.                                         case '1decrepit':
  38.                                                 echo '0,3;';
  39.                                                 break;
  40.                                         case '1notapplicable':
  41.                                                 echo '0,1;';
  42.                                                 break;
  43.                                         default:
  44.                                                 echo 'Ви не обрали технічний стан';
  45.                                 }

Страниц (6): « 1 2 3 4 5 [6]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB