Эрланг: как преобразовать десятичную дробь в шестнадцатеричную строку, заполненную нулями


Я хотел бы преобразовать 42 (База 10) в 000002A (база 16) в Эрланге...

Я нашел несколько указателей в интернете:

io:format("~8..0B~n", [42]) -> 00000042

И

io:format("~.16B~n", [42]) -> 2A

Но я, кажется, не могу найти, как сделать и то и другое одновременно, я пытался :

io:format("~8..0.16B~n", [42])
Это казалось бы логичным, но это не так, это дает мне ошибку.

Спасибо.

1 3

1 ответ:

Io: формат ("~8.16.0 B~n", [42]).
0000002A

В основном, это ~F. P. Pad, где:

  • F = ширина поля
  • P = precsion
  • Pad = символ pad

Смотрите документ full io: format docs