Число в 1С 8.3 — функции работы с числами

Число в 1С 8 — значение примитивного типа Число. Числовым типом может быть представлено любое десятичное число. С числовыми данными возможно совершать основные арифметические операции: сложение, вычитание, умножение и деление. Максимальное количество разрядов для числа в 1с 8: 38 знаков.

Литералы числа: набор цифр вида: [+|-]{0|1|2|3|4|5|6|7|8|9}[.{0|1|2|3|4|5|6|7|8|9}] В качестве разделителя целой и дробной части используется «.» (точка).

Пример 1. Создадим числовую переменную

ЧислоПи = 3.14;

Преобразование значений другого типа в число

Преобразовать в число можно значения строкового типа, либо логического типа (Булево). Значение типа Булево преобразуется в число по следующим правилам:

  • Ложь преобразуется в 0;
  • Истина преобразуется в 1.

Значение типа Строка преобразуется в число в том случае, если оно является строковым представлением литерала численного типа.

Для преобразования существует специальная функция Число(<Значение>), которая возвращает полученное число, если преобразование удалось и выдает сообщение об ошибке в противном случае.

Пример 2. Преобразовать в 1с число строку «1.25»

Строка = "1.25";
ПолученноеЧисло = Число(Строка);

После выполнения данного кода в переменной ПолученноеЧисло будет содержаться числовое значение 1.25

Пример 3. Преобразовать в число строку «Привет мир!»

Строка = "Привет мир!";
ПолученноеЧисло = Число(Строка);

При попытке выполнить данный код будет выдано сообщение об ошибке: «Преобразование значения к типу Число не может быть выполнено».

Функции работы со значениями типа Число в 1с 8.3

В данном разделе будут рассмотрены основные функции работы с числами в 1с 8 и приведены примеры их использования.

Цел

Цел(<Число>). Возвращает целую часть числа переданного в параметре.

Пример 4. Определить делится ли число 121 на 11.

Делимое = 121;
Делитель = 11;
	
Результат = Делимое / Делитель;
	
Если Цел(Результат) = Результат Тогда
    Сообщить("Делится нацело");
Иначе
    Сообщить("Не делится нацело");
КонецЕсли;

Результатом выполнения данного кода будет вывод на экран сообщения «Делится нацело».

Окр

Окр(<Число>, <Разрядность>, <РежимОкругления>). Функция округляет число, переданное в первом параметре, до знака после запятой переданного во втором параметре. Значение разрядности может быть и нулевым (округление до целого) и отрицательным (округление до соответствующего разряда целой части). Параметр РежимОкругления может принимать значения:

  • 0 (или РежимОкругления.Окр15как10). Округляет в меньшую сторону, то есть при округлении 1.5 будет возвращено 1;
  • 1 (или РежимОкругления.Окр15как20). Округляет в большую сторону, то есть при округлении 1.5 будет возвращено 2;

Пример 5. Для того чтобы лучше разобраться с принципами округления рассмотрим округление до целого в меньшую и большую стороны, на ряде чисел от 1.1 до 1.9

Массив = Новый Массив;
	
Шаг = 0.1;
Число = 1;
	
Пока Число < 1.9 Цикл
    Число = Число + Шаг;
    Массив.Добавить(Число);
КонецЦикла;
	
ШаблонСообщения = "Исходное: %1 В меньшую: %2 В большую: %3";
	
Для Каждого ЭлементМассива Из Массив Цикл
		
    ИсходноеЧисло = ЭлементМассива;
    ОкруглениеВМеньшую = Окр(ИсходноеЧисло, 0, 0);
    ОкруглениеВБольшую = Окр(ИсходноеЧисло, 0, 1);
		
    ТекстСообщения = СтрШаблон(ШаблонСообщения, 
                               ИсходноеЧисло, 
                               ОкруглениеВМеньшую, 
                               ОкруглениеВБольшую);
    Сообщить(ТекстСообщения);
		
КонецЦикла;

Pow

Pow(<Основание>, <Показатель>). Возводит число переданное в первом параметре в степень переданную во втором параметре.

Пример 6. Извлечь квадратный корень из числа 144, а затем возвести его в квадрат, в итоге снова должно получится число 144.

Число    = 144;	
	
КвадратныйКорень = Pow(Число, 1/2);
Число    = Pow(КвадратныйКорень, 2);
	
Сообщить(Число);

Результатом исполнения кода будет вывод на экран числа 144.

Прочие функции работы со значениями типа Число в 1с 8.3

  • Log(<Число>). Получает натуральный логарифм числа, переданного в параметре;
  • Log10(<Число>). Получает десятичный логарифм числа, переданного в параметре;
  • Sin(<Угол>). Получает синус угла, заданного в радианах. Угол передается в параметр;
  • Cos(<Угол>). Получает косинус угла;
  • Tan(<Угол>). Получает тангенс угла;
  • ASin(<Угол>). Получает арксинус угла;
  • ACos(<Угол>). Получает арккосинус угла;
  • ATan(<Угол>). Получает арктангенс угла;
  • Exp(<Число>). Получает экспоненту от числа переданного в параметр.

Также прочитайте статью: Строки в 1С 8.3 — строковые функции

Добавить комментарий

Ваш адрес email не будет опубликован.