Рассмотрим один из примитивных типов, с которым приходится сталкиваться разработчикам на платформе 1С 8.3, – Число. В этой статье мы научимся задавать числа в коде, создавать реквизиты с типом число , получать случайное число, округлять числа и получать из числа с дробью целое число.
Тип число в 1С
Задать число в коде просто: нужно какой-то переменной просто присвоить определенное число.
Так задаётся целое число:
Число1 = 1000;
А так задаются дробные числа:
Число1 = 5.25; Число2 = 0.25;
Отрицательные:
Число1 = - 10;
И число ноль:
Число1 = 0;
Над числами в коде можно выполнять простые арифметические операции: сложение, вычитание, умножение и деление.
Причем, как непосредственно над числами:
Число1 = 10 + 20; Число2 = 15 - 19; Число3 = 3 * 5.7; Число4 = 1.5/23.1;
Так и над переменными с типом число:
Число1 = 10.34; Число2 = 15; п_Сложение = Число1 + Число2; п_Вычитание = Число1 - Число2; п_Умножение = Число1 * Число2; п_Деление = Число1 / Число2;
Если нужно инвертировать число, т.е. поставить какому-то уже заданному числу обратный знак (например, было 5, стало -5), то его нужно умножить на -1.
Сделать это можно несколькими способами:
Число1 = - 10.34; Число2 = Число1*-1; Число2 = Число1*(-1); Число2 = -1*Число1; Число2 = (-1)*Число1; Число2 = -Число1;
Если нам нужно создать реквизит какого-то объекта, с типом число, то в свойстве Тип реквизита нужно выбрать тип Число. На картинке ниже у справочника создан реквизит с типом Число.
А также задать его точность и длину.
Остановимся на точности и длине подробнее.
Точность – это максимальное количество знаков после запятой.
Длина – это максимальное количество разрядов в числе (включая знаки после запятой).
Например, если длина 5, а точность 3, то максимальное число будет 99,999.
Если длина 5, а точность 0, то – 99999.
А если длинна 3, а точность 3, то – 0,999. Т.е когда длинна равна точности мы не сможем задать число равное 1.
Когда мы в коде задаем переменную с типом Число, то мы не ограничиваем эту переменную по длине и точности, в тоже время для реквизита объекта с типом Число нужно это делать заранее. При разработке вы должны заранее предусмотреть, какие у реквизита числового типа будет длинна и точность.
Точно также, реквизит с типом число нужной длинны и точности можно создать на управляемой форме.
Случайное число в 1С
В платформе 1С 8.3 имеется возможность сгенерировать случайное целое число при помощи генератора случайных чисел, который так и называется ГенераторСлучайныхЧисел. Для генерации случайного числа нужно воспользоваться методом этого объекта СлучайноеЧисло.
Рассмотрим, простой пример генерации случайного числа.
Генератор = Новый ГенераторСлучайныхЧисел; Число1 = Генератор.СлучайноеЧисло();
В этом случае Число1 будет сгенерировано от 0 до 4294967295 (2^32 -1).
В примере выше метод СлучайноеЧисло без параметров, но у этого метода есть два параметра:
СлучайноеЧисло(НижняяГраница, ВерхняяГраница).
Оба параметра являются необязательных и с их помощью можно задать верхнюю и нижнюю границу генерации случайных чисел. Причем параметр НижняяГраница не может быть меньше нуля, а параметр ВерхняяГраница не может быть больше 4294967295.
Например, в этом случае будет сгенерировано случайное число от 1 до 100.
Генератор = Новый ГенераторСлучайныхЧисел; Число1 = Генератор.СлучайноеЧисло(1,100);
Округлить число в 1С
В платформе 1С имеется возможность округления чисел по определенному правилу. Для этих целей существует метод Окр. Этот метод является функцией, которая принимает число, нужное для округления, и возвращает округленное число. Данный метод имеет следующий синтаксис:
Окр(<Число>,<Разрядность>,<РежимОкругления>)
Где:
Число – число, которое будет округляться;
Разрядность – до какого количества знаков после запятой нужно округлить число (если разрядность равна 0, то число будет округлено до целого числа).
РежимОкругления – системное перечисление, которое имеет два значения: РежимОкругления.Окр15как10 – в этом случае 1.5 округляется до 1, РежимОкругления.Окр15как20 – 1.5 округляется до 2. Если этот параметр не задан, то по умолчанию 1.5 округляется до 2
Например:
ЧислоОкрБ = Окр(3/2,0,РежимОкругления.Окр15как20); ЧислоОкрМ = Окр(3/2,0,РежимОкругления.Окр15как10); Сообщить("ЧислоОкрБ = " + ЧислоОкрБ); Сообщить("ЧислоОкрМ = " + ЧислоОкрМ);
В этом случае будет следующий результат:
Целое число в 1С
Если предыдущий метод округляет число, то также имеется возможность получать целое число, т.е. просто отбросить дробную часть числа. Делает это метод Цел. Данный метод является функцией, принимающей единственный параметр – число, у которого нужно отбросить дробную часть, и возвращающей полученное целое число.
Рассмотрим работу этого метод в сравнении с методом округления числа.
Число1 = 10; Число2 = 6; Число3 = Число1 / Число2; ЧислоОкр2 = Окр(Число3,2); ЧислоОкр0 = Окр(Число3,0); ЧислоЦел = Цел(Число3); Сообщить("Окр (" + Число1 + "/" + Число2 + ",2) = " + ЧислоОкр2); Сообщить("Окр (" + Число1 + "/" + Число2 + ",0) = " + ЧислоОкр0); Сообщить("Цел (" + Число1 + "/" + Число2 + ") = " + ЧислоЦел);
Должен получиться следующий результат:
Из результата вы видите, что нельзя использовать метод Окр для получения целого числа, он именно округляет и не всегда может дать требуемый результат. Для получения целого числа используйте метод Цел.
Степень числа в 1С
В платформе 1С имеется возможность возвести нужное число в степень. Делается это при помощи метода Pow, который является функцией со следующим синтаксисом.
Pow(<Число>, <СтепеньЧисла>)
Рассмотрим ряд примеров:
Число1 = 10; Число2 = Pow(Число1,3); Число3 = Pow(Число1,-3); Число4 = Pow(Число1,2.5); Число5 = Pow(Число1,-3.5); Сообщить("10^3 = " + Число2); Сообщить("10^-3 = " + Число3); Сообщить("10^2.5 = " + Число4); Сообщить("10^-3.5 = " + Число5);
И результат:
Из примеров видно, что мы можем возводить в положительную и отрицательную степень, а также степень может быть дробной.
Функции чисел в 1С
В платформе 1С 8.3 имеется другие функции пот работе с числами , познакомится с ними можно в синтаксис-помощнике. В подразделе Функции работы со значениями типа Число.
Другие статьи о примитивных типах:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009