Перевод чисел по системам счисления (отрицательные, дробные, округление)

04.02.22

Разработка - Универсальные функции

Обработка содержит функции по работе с дробными, отрицательными числами разных систем счисления (кроме десятеричной).

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Перевод чисел по системам счисления (Отрицательные, дробные, округление):
.epf 12,44Kb
0 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Возможности

  • Операции с переводом из 10-ой системы счисления в другую (от двух знаков до 60) и обратно.
  • Операции с дробными и отрицательными числами системы счисления отличной от 10-ой.
  • Округление чисел системы счисления отличной от 10-ой.
  • Автоматическое удаление нулей справа в дробной части чисел системы счисления отличной от 10-ой.
  • Возможность использовать как отдельную библиотеку функций и процедур, которые находятся в модуле обработки

Содержит процедуру проверки (Кнопка "Тест") для показа и проверки примеров использования.

1. Операция преобразования числа из 10-ой системы счисления
 

// Получает число в требуемой системе счисления (строка) из числа в десятичной системы счисления
// 
// Параметры:
//  ДесятичноеЧисло				- Число 	- Десятичное число
//  Разрядность					- Число 	- Разрядность
//  МаксДлинаДробныхСимволов	- Число 	- Максимальная длина дробных символов. При превышении происходит обрезание.
//  ВызыватьИсключение			- Булево 	- Вызывает исключение при ошибке
// 
// Возвращаемое значение:
//  Строка - Полученное число в требуемой системе счисления 
Значение = ПреобразоватьЧислоИз10СС(Знач ДесятичноеЧисло, Разрядность, МаксДлинаДробныхСимволов = 100,	ВызыватьИсключение = Истина)

// Пример 1: Преобразует десятичное число 12 345 в двоичную систему счисления
Значение = ПреобразоватьЧислоИз10СС(12345, 2); // "11000000111001"

// Пример 2: Преобразует десятичное число 6 677 в шестнадцатеричную систему счисления
Значение = ПреобразоватьЧислоИз10СС(6677, 16); // "1A15"

// Пример 3: Преобразует десятичное число 444.77 в двоичную систему счисления с максимальным количеством дробных символов = 10
Значение = ПреобразоватьЧислоИз10СС(444.77, 2, 10); // "110111100,1100010100"

2. Операция преобразования 10-ую систему счисления

// Преобразует переданное число (строка) в число десятичной системы счисления
// 
// Параметры:
//  Значение			- Строка	- Переданное значение в системе счисления
//  Разрядность			- Число 	- Разрядность системы счисления переданного значения
//  ВызыватьИсключение 	- Булево 	- Вызывает исключение при ошибке
// 
// Возвращаемое значение:
//  Число - Полученное число в десятичной системе счисления
Значение = ПреобразоватьЧислоВ10СС(Знач Значение, Разрядность, ВызыватьИсключение = Истина) 

// Пример 1: Преобразует значение "Abc" в десятичное число из шестнадцатеричной системы счисления
Значение = ПреобразоватьЧислоВ10СС("Abc", 16); // 2748

// Пример 2: Преобразует значение "-0.999" в десятичное число из двенадцатеричной  системы счисления
Значение = ПреобразоватьЧислоВ10СС("-0.999", 12); // -0,817708333333333333333333329

3. Операция округления чисел систем счисления отличных от 10-ой

// Округляет число по текущей системе счисления 
// 
// Параметры:
//  Значение			- Строка	- Переданное значение для округления
//  Разрядность			- Число		- Разрядность системы счисления
//  РазрядностьОкр		- Число		- Разрядность округления
//  ВызыватьИсключение	- Булево	- Вызывает исключение при ошибке
// 
// Возвращаемое значение:
//  Строка - Округленное число по системе счисления
Значение = ОкруглитьЧислоСС(Знач Значение, Разрядность, РазрядностьОкр = 0, ВызыватьИсключение = Истина) 

// Пример 1: Округляет число "888,99" шестнадцатеричной системы счисления до разряда -2
Значение = ОкруглитьЧислоСС("888,99", 16, -2); // 900

// Пример 2: Округляет число "77,4444" восьмеричной системы счисления до разряда 2
Значение = ОкруглитьЧислоСС("77,4444", 8, 2); // 77,45

 

Платформа 8.3.14.

Вступайте в нашу телеграмм-группу Инфостарт

Системы счисления

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3616    Abysswalker    9    

45

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    6716    DeerCven    15    

59

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    49682    dimanich70    83    

170

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7390    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    62391    atdonya    31    

70

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9223    ke.92@mail.ru    17    

68
Для отправки сообщения требуется регистрация/авторизация