1С 8.3 Математика - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Математика

Данные > Примеры кода 1С > 1С 8.3 Математика, числа
Математические операции в 1С 8.3 - это операции (вычисления) с любыми десятичными цифрами для получения результата. Число это один из примитивных типов данных в 1С 8.3. Максимальная разрядность числа = 38 знаков (32 знака для целой части). В качестве разделителя целой и дробной части числа используется точка ".".
Арифметические операции в 1С 8.3:
&НаКлиенте
Процедура Арифметика(Команда)

   
//Сложение
   
Формула_Суммы = 50 + 10;// Результат сложения = 60
    //Разность
   
Формула_Вычитания = 50 - 10;// Результат вычитания (разности) = 40
    //Произведение
   
Формула_Умножения = 50 * 10;// Результат умножения (произведения) = 500
    //Частное
   
Формула_Деления = 50 / 10;// Результат деления (частное) = 5
    //Остаток
   
Формула_Остатка_от_деления = 50 % 8;// Результат остатка от деления = 6

КонецПроцедуры
Математические операции в 1С 8.3:
&НаКлиенте
Процедура Математика(Команда)

   
//Функция округления
   
Результат_Окр_до_десятой=Окр(123.432, 1); // = 123.4
   
Результат_Окр_до_десятой=Окр(123.679, 1); // = 123.7

   
Результат_Окр_до_сотой=Окр(123.432, 2); // = 123.43
   
Результат_Окр_до_сотой=Окр(123.679, 2); // = 123.68

    // Если предыдущий дробный знак = 5, а последующие = 0
    // То результат округления зависит от 3-го параметра РежимОкругления
    // По умолчанию = РежимОкругления.Окр15как20 (в большую сторону)
   
Результат_Окр_Окр15как10=Окр(200.150, 1, РежимОкругления.Окр15как10); // = 200.1
   
Результат_Окр_Окр15как20=Окр(200.150, 1, РежимОкругления.Окр15как20); // = 200.2

    //Функция вычисления максимального значения из нескольких
   
Результат_Макс=Макс(1, 2, 3, 4, 5, 6, 7); // = 7
   
Результат_Макс=Макс(Дата(1983, 07, 01), Дата(2020, 04, 17)); // = 17.04.2020
   
Результат_Макс=Макс(Истина, Ложь);  // = Истина
   
Результат_Макс=Макс("Alena", "Clark", "Boris"); // = "Clark"

    //Функция вычисления минимального значения из нескольких
   
Результат_Мин=Мин(1, 2, 3, 4, 5, 6, 7); // 1
   
Результат_Мин=Мин(Дата(1983, 07, 01), Дата(2020, 04, 17)); // = 01.07.1983
   
Результат_Мин=Мин(Истина, Ложь); // Ложь
   
Результат_Мин=Мин("Alena", "Clark", "Boris"); // = "Alena"

    //Функция вычисления целого числа
   
Результат_Цел=Цел(200.150); // = 200

    //Функция возведения числа в степень
   
Результат_Степень=Pow(50, 2); // 50^2 = 2500

    //Функция извлечения квадратного корня из числа
   
Результат_КвКорень=Sqrt(2500); // √2500 = 50

КонецПроцедуры
Тригонометрические операции в 1С 8.3:
&НаКлиенте
Процедура Тригонометрия(Команда)

   
//Косинус угла (углы выражаются в радианах)
   
Результат_Косинус_угла=Cos(45); // ~0.5253
    //Арккосинус числа
   
Результат_АркКосинус_числа=ACos(1); // = 0
    //Синус угла (углы выражаются в радианах)
   
Результат_Синус_угла=Sin(45); // ~0.8509
    //Арксинус числа
   
Результат_АркСинус_числа=ASin(1); // ~1.5708
    //Тангенс угла (углы выражаются в радианах)
   
Результат_Тагенс_угла = Tan(45); // ~1.6198
    //Арктангенс угла (углы выражаются в радианах)
   
Результат_АркТагенс_угла = ATan(1); // ~0.7854
    //Натуральный логарифм числа
   
Результат_НатЛогарифм_числа = Log(3); // ~1.0986
    //Десятичный логарифм числа
   
Результат_ДесЛогарифм_числа = Log10(3); // ~0.4771
    //Exponenta - возведение основания натурального логарифма
    //(числа E) 2,7182818284590452353602874713527…
    // в степень: Параметр "Число"
   
Результат_Эксп_числаE = Exp(709.78271289338397);   //709.782712893

КонецПроцедуры
Вычисление выражения из строки в 1С 8.3:
&НаКлиенте
Процедура ВычислениеВыраженияИзСтроки(Команда)

   
// Данным методом вычисляются только:
    // математические выражения, логические выражения, операции конкатенации
   
РезультатВыражения = Вычислить("3+8")); // = 11
   
РезультатВыражения = Вычислить("8-3")); // = 4
   
РезультатВыражения = Вычислить("100 + 100*5/20")); // = 125
   
РезультатВыражения = Вычислить("ИСТИНА И ЛОЖЬ")); // Нет
   
РезультатВыражения = Вычислить("Sin(45)")); // ~0.8509
   
РезультатВыражения = Вычислить("""Павел"" + "" "" + ""Алексеевич"""); //"Павел" "Алексеевич"

КонецПроцедуры
Получение дробной части числа в 1С 8.3:
&НаКлиенте
Процедура ПолучениеДробнойЧастиЧисла(Команда)

   
Число1=50.876;
   
Результат_только_дробь1=Число1-Цел(Число1);// = 0,876

   
Число2=60.12;
   
Результат_только_дробь2=Число2-Цел(Число2);// = 0,12

   
Число3=70.00;
   
Результат_только_дробь3=Число3-Цел(Число3);// = 0

КонецПроцедуры
Получение случайного числа в 1С 8.3:
//Получение случайного числа
&НаКлиенте
Процедура ПолучениеСлучайногоЧчисла(Команда)

   
ГенераторСЧ = Новый ГенераторСлучайныхЧисел();
   
Результат_СЧ=ГенераторСЧ.СлучайноеЧисло(80,1000));// Случайное число в диапазоне от 80 до 1000

КонецПроцедуры
Получение аргумента в 1С 8.3:
&НаКлиенте
Функция ПолучениеАргумента(пЧисло) Экспорт

    Возврат ?(
пЧисло>=0, пЧисло, -пЧисло);

КонецФункции
1
комментарий
Марат
22 июл 2022
Да большинство программистов 1с банально не знают математику))
____________________
Copyright©, «Программист 1С в г.Минске», 17.04.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому