Доступ к форматированию шестнадцатеричный минимум четыре цифры - PullRequest
0 голосов
/ 21 февраля 2020

В Microsoft Access я хотел бы преобразовать десятичное число в шестнадцатеричное, отформатировав его таким образом, чтобы оно заполнялось начальными нулями, когда меньше четырех цифр.

Я пробовал с

Format(Hex([decimalfieldname]);"0000")

Format(Hex(137);"0000") => Выход: 0089

Format(Hex(127874);"0000") => Выход: 1F382

, но: Format(Hex(169);"0000") => Выход: A9

Я хотел бы получить 00A9

Есть идеи, как мне это сделать?

1 Ответ

2 голосов
/ 21 февраля 2020

Не используйте Format для строк, вместо этого используйте Right, заполняйте 4 нулями по умолчанию и берите последние 4 символа.

Right("0000" & Hex(169), 4)

Обратите внимание, что вам нужно выполнить проверку, если вы хотите более 4 цифр и в этом случае хотите вернуть полный номер, используя IIF

Iif(Len(Hex([decimalfieldname])) > 4, Hex([decimalfieldname]), Right("0000" & Hex([decimalfieldname]), 4))
...