0. venger 2086 14.05.10 13:45 Сейчас в теме

Перевод систем счисления (включая перевод римских чисел)

В обработке реализованы алгоритмы (функции) перевода средствами 1С целых и дробных чисел из одной позиционной системы счисления с неотрицательными целочисленными основаниями в другую. При переводе отрицательных чисел знак сохраняется. Диапазон возможных систем счисления от 2-х до 36-ти. Также реализован перевод в римскую систему счисления из арабской (10-ричная) и обратно (галка «Вкл. римские числа» на форме обработки). Перевод из/в римскую систему счисления реализован только для целых неотрицательных чисел. «Расширенные римские цифры» также не поддерживаются.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. venger 2086 14.05.10 13:45 Сейчас в теме
(0) Кому надо, выдергиваете функции из обработки в глобальник к себе и пользуетесь. Эта обработка просто демонстрация их использования...
2. venger 2086 14.05.10 14:18 Сейчас в теме
(0) Обновил файл, маленькую описку исправил;-) Тестируем, теперь вроде все должно быть нормуль;-)
3. YAN 1369 14.05.10 15:10 Сейчас в теме
А практическое применение возможно и где если не секрет?
4. venger 2086 14.05.10 15:17 Сейчас в теме
(3) Как минимум мне понадобилось для работы со стилями контролов FormEx. Это 10 в 2 и обратно. Потом можно использовать для нумерации чего-нить римскими цифрами. Это пока с ходу, что пришло в голову...
6. venger 2086 14.05.10 16:01 Сейчас в теме
(5) Тоже гуд, только для целых по-моему, без учета знака и без римских;-)

Но что понравилось это вариант определения по символу числа, у меня это отдельная функция, а там красивее, вот так:
Найти("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",Сред(Значение,Х,1))-1
7. Ёпрст 1036 14.05.10 16:07 Сейчас в теме
(6) Ну.. це же Рупор делал.... мозг!

:)
8. Поручик 4332 14.05.10 21:46 Сейчас в теме
Что бы мы делали без web.archive.org? :(
9. Armando 1391 15.05.10 15:26 Сейчас в теме
Мне перевод в другие системы счисления пригодился для "упаковки" guid ссылки в восьмерке, только там использовал, скажем так, 95ричную систему)
10. arithmometr 150 16.05.10 19:14 Сейчас в теме
С римскими числами не все гуд.
Будет полезно почитать:
http://forum.algolist.ru/algorithm-maths-mathematical/663-rimskie-chisla.html
http://ru.wikipedia.org/wiki/Римские_цифры
А также Help по функции РИМСКОЕ() в MS Excel или Roman() в OpenOffice.org Calc
11. venger 2086 17.05.10 11:30 Сейчас в теме
(10) Примерчик не корректного перевода можно
12. arithmometr 150 17.05.10 17:32 Сейчас в теме
(11) Максимальное число, которое можно записать в римской системе = 3999
Возможные варианты записи этого числа:
MMMCMXCIX
MMMLMVLIV
MMMXMIX
MMMVMIV
MMMIM
Для вариантов с 2 по 5 обработка выдает предупреждение о некоректности
15. Арчибальд 2708 18.05.10 09:25 Сейчас в теме
(12) Если возможна запись CM, то никакие LM, XM, VM, IM уже некорректны. Так же как некорректно писать LC вместо L.
16. arithmometr 150 18.05.10 20:27 Сейчас в теме
(15)
Существует «сокращённый способ» для записи больших чисел, таких как 1999. Он не рекомендуется, но иногда используется для упрощения. Отличие состоит в том, что для уменьшения цифры слева от неё может писаться любая цифра:

* 999. Тысяча (M), вычтем 1 (I), получим 999 (IM) вместо CMXCIX. Следствие: 1999 — MIM вместо MCMXCIX
* 95. Сто ©, вычтем 5 (V), получим 95 (VC) вместо XCV
* 1950: Тысяча (M), вычтем 50 (L), получим 950 (LM). Следствие: 1950 — MLM вместо MCML

http://ru.wikipedia.org/wiki/Римский_счёт
18. venger 2086 18.05.10 23:11 Сейчас в теме
17. arithmometr 150 18.05.10 20:30 Сейчас в теме
(15) Рекомендую прочитать Help по функции РИМСКОЕ() в MS Excel. И поэкспериментировать со вторым параметром.
13. O-Planet 6985 17.05.10 20:39 Сейчас в теме
Мдя, и чем не аля перенумератор ;)
19. GSoft 2851 19.05.10 09:53 Сейчас в теме
ребят а кто подскажет - может встречали подобное на 7ке но для систем шифрования паролей

есть справочник пользовательские логины - и уж очень не хочется хранить там пароли в открытом виде
20. spkvxnet 19.09.11 15:44 Сейчас в теме
Полезная обработка. Не нужно самому "выдумывать велосипед"...
21. fixin 3882 28.05.12 11:17 Сейчас в теме
готовые отлаженные функции по переводу в/из систем счисления можно взять в моей "Библиотеке продвинутых функций" также. ;-)
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист/Cтарший программист 1С
Москва
зарплата от 100 000 руб. до 250 000 руб.
Полный день

Программист 1С
Калининград
зарплата от 60 000 руб. до 80 000 руб.
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день