AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.12.2016, 13:43   #2  
demianimp is offline
demianimp
Участник
 
202 / 104 (4) +++++
Регистрация: 10.10.2013
Можно немного упростить этот метод

X++:
#DEFINE.HEXDIGITS('0123456789ABCDEF')
static str 12 int2Hex(int iValue, int digits = 0 )
{
    str 12  result = '';
    ;
    if (iValue < 0)
    {
        digits = 8;
    }
    while (iValue != 0)
    {
        result = subStr(#HEXDIGITS, iValue & 0xF + 1, 1) + result;
        
        iValue = iValue >> 4;
        
        if (iValue == -1 && strLen(result) == digits)
        {
            break;
        }
    }
    
    result = strRep('0', digits - strLen(result)) + result;
    
    return result;
}

Последний раз редактировалось demianimp; 29.12.2016 в 15:00. Причина: лишнее условие iValue > 0xF
За это сообщение автора поблагодарили: mazzy (2).
Теги
int2hex

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Прочитать сформированный GUID Владимир Максимов DAX: Программирование 2 24.09.2007 11:55

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:22.