Имя: Пароль:
1C
1С v8
Что это означает?
0 Шабалин Валентин
 
28.11.12
18:08
ИначеЕсли Количество%10 > 0 И Количество%100 > 20 Тогда
1 Wobland
 
28.11.12
18:11
не кратно 10 и более 20 в конце. где ты это взял?
2 МишКа
 
28.11.12
18:13
% - операция деления по модулю
(простыми словами получение остатка от деления)
3 izekia
 
28.11.12
18:13
объяснил))
предпоследний разряд числа 2-9 последний 1-9
4 GLazNik
 
28.11.12
18:13
(1) " и более 20" это есть неверное суждение
5 hhhh
 
28.11.12
18:14
(1) похоже на сумму прописью
6 Шабалин Валентин
 
28.11.12
18:14
(1) Вот тут взял

Функция ПолучитьПорядковоеЧислительное(Количество)
   
   Если Количество < 0 Тогда
       Знак = -1;
       ЗнакПредставление = "минус";
   Иначе
       Знак = 1;
       ЗнакПредставление = "";
   КонецЕсли;
   Количество = Знак * Количество;
   
   СписокЧисел = Новый Соответствие;
   СписокЧисел.Вставить(1, "первый");
   СписокЧисел.Вставить(2, "второй");
   СписокЧисел.Вставить(3, "третий");
   СписокЧисел.Вставить(4, "четвертый");
   СписокЧисел.Вставить(5, "пятый");
   СписокЧисел.Вставить(6, "шестой");
   СписокЧисел.Вставить(7, "седьмой");
   СписокЧисел.Вставить(8, "восьмой");
   СписокЧисел.Вставить(9, "девятый");
   СписокЧисел.Вставить(10, "десятый");
   СписокЧисел.Вставить(11, "одинадцатый");
   СписокЧисел.Вставить(12, "двенадцатый");
   СписокЧисел.Вставить(13, "тринадцатый");
   СписокЧисел.Вставить(14, "четырнадцатый");
   СписокЧисел.Вставить(15, "пятьнадцатый");
   СписокЧисел.Вставить(16, "шестнадцатый");
   СписокЧисел.Вставить(17, "семьнадцатый");
   СписокЧисел.Вставить(18, "восемнадцатый");
   СписокЧисел.Вставить(19, "девятнадцатый");
   СписокЧисел.Вставить(20, "двадцатый");
   СписокЧисел.Вставить(30, "тридцатый");
   СписокЧисел.Вставить(40, "сороковой");
   СписокЧисел.Вставить(50, "пятидесятый");
   СписокЧисел.Вставить(60, "шестидесятый");
   СписокЧисел.Вставить(70, "семидесятый");
   СписокЧисел.Вставить(80, "восьмидесятый");
   СписокЧисел.Вставить(90, "девяностый");
   СписокЧисел.Вставить(100, "сотый");    
   СписокЧисел.Вставить(200, "двухсотый");    
   СписокЧисел.Вставить(300, "трехсотый");    
   СписокЧисел.Вставить(400, "четырехсотый");    
   СписокЧисел.Вставить(500, "пятисотый");    
   СписокЧисел.Вставить(600, "шестисотый");    
   СписокЧисел.Вставить(700, "семисотый");    
   СписокЧисел.Вставить(800, "восьмисотый");    
   СписокЧисел.Вставить(900, "девятисотый");
   
   Если Количество = 0 Тогда
       Возврат "нулевой";
   ИначеЕсли Количество%10 > 0 И Количество%100 > 20 Тогда
       Остаток = Количество%10;
       Десятки = Количество - Остаток;
       ДесяткиПрописью = ?(Десятки = 0, "", ЧислоПрописью(Окр(Десятки, 0), "НП = Ложь"));
       ДесяткиПрописью = СокрЛП(СтрЗаменить(ДесяткиПрописью, "00", ""));
       Возврат ЗнакПредставление + " " + НРег(ДесяткиПрописью) + " " + СписокЧисел.Получить(Остаток);
   ИначеЕсли Количество%100 > 0 Тогда
       Остаток = Количество%100;
       Сотни = Количество - Остаток;
       СотниПрописью = ?(Сотни = 0, "", ЧислоПрописью(Окр(Сотни, 0), "НП = Ложь"));
       СотниПрописью = СокрЛП(СтрЗаменить(СотниПрописью, "00", ""));
       Возврат ЗнакПредставление + " " + НРег(СотниПрописью) + " " + СписокЧисел.Получить(Остаток);
   ИначеЕсли Количество < 1000 Тогда
       Возврат ЗнакПредставление + " " + СписокЧисел.Получить(Остаток);
   Иначе
       Возврат "";
   КонецЕсли;
   
КонецФункции
7 Wobland
 
28.11.12
18:14
(4) легко. контрпример приведёшь?
8 izekia
 
28.11.12
18:15
101
9 GLazNik
 
28.11.12
18:15
(7) 110
10 izekia
 
28.11.12
18:16
110 кратно
11 МишКа
 
28.11.12
18:16
(9) 110%100=10
12 GLazNik
 
28.11.12
18:17
(11) 10 > 20?
13 МишКа
 
28.11.12
18:18
(12) Разобрался.
2 + 2 = 3.9999999999999999999999999999999...