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;// Результат остатка от деления = 2
КонецПроцедуры
Процедура Арифметика(Команда)
//Сложение
Формула_Суммы = 50 + 10;// Результат сложения = 60
//Разность
Формула_Вычитания = 50 - 10;// Результат вычитания (разности) = 40
//Произведение
Формула_Умножения = 50 * 10;// Результат умножения (произведения) = 500
//Частное
Формула_Деления = 50 / 10;// Результат деления (частное) = 5
//Остаток
Формула_Остатка_от_деления = 50 % 8;// Результат остатка от деления = 2
КонецПроцедуры
Математические операции в 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
КонецПроцедуры
Процедура Математика(Команда)
//Функция округления
Результат_Окр_до_десятой=Окр(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
КонецПроцедуры
Процедура Тригонометрия(Команда)
//Косинус угла (углы выражаются в радианах)
Результат_Косинус_угла=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
РезультатВыражения = Вычислить("""Павел"" + "" "" + ""Алексеевич"""); //"Павел" "Алексеевич"
КонецПроцедуры
Процедура ВычислениеВыраженияИзСтроки(Команда)
// Данным методом вычисляются только:
// математические выражения, логические выражения, операции конкатенации
РезультатВыражения = Вычислить("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=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
КонецПроцедуры
&НаКлиенте
Процедура ПолучениеСлучайногоЧчисла(Команда)
ГенераторСЧ = Новый ГенераторСлучайныхЧисел();
Результат_СЧ=ГенераторСЧ.СлучайноеЧисло(80,1000));// Случайное число в диапазоне от 80 до 1000
КонецПроцедуры
Получение аргумента в 1С 8.3:
&НаКлиенте
Функция ПолучениеАргумента(пЧисло) Экспорт
Возврат ?(пЧисло>=0, пЧисло, -пЧисло);
КонецФункции
Функция ПолучениеАргумента(пЧисло) Экспорт
Возврат ?(пЧисло>=0, пЧисло, -пЧисло);
КонецФункции
💡 Шаблоны (готовые модели) кода 1С 8.3 с тегом #Математика, числа:
1
комментарий
Марат
22 июл 2022
Да большинство программистов 1с банально не знают математику))
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник