2012-02-27 2 views
2

가득 진수 문자열로 decimale를 변환하는 방법은 42 변환 내가 웹에서 몇 가지 포인터를 발견얼랑 : 제로

000002A에 (자료 10) 얼랑에서 (자료 16) ... 싶습니다 :

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

그리고

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

하지만 동시에 두 가지 작업을 수행하는 방법을 찾을 것 같다 수 없습니다, 나는 시도했다 :

,
io:format("~8..0.16B~n", [42]) 

논리적 인 것으로 보이지만 오류가있는 것은 아닙니다.

감사합니다.

답변

6

io : format ("~ 8.16.0B ~ n", [42]).

  • 는 F는 = 필드
  • 는 P가 precsion
  • 패드 = 패드 문자

full io:format docs

를 참조 = 폭 :
0000002A는

기본적으로, 그것은 FPPad ~입니다

+0

좋아요, 감사 ! – TheSquad

+3

솔직히 말해서, 그 문서는 털이 많은 무스 볼을 빨아 먹습니다. 나는 지난 1 년 반 동안 그것을 읽고 다시 읽었고 인쇄 할 숫자의 기초에 대한 '정밀도'논증의 사용은 완전히 불분명합니다. 예를 들어 문서의 내용과 약간 다른 점을 확인하십시오. "~ .16B"는 정상적인 16 진수 인쇄를 제공하고 [현재 패드 문자 == 인쇄 된 숫자의 기준] 버전에 "16.0B" P "(recision) 필드가 숫자의 기본이되고 Pad 문자 (이 경우 '0')가 패딩이됩니다. 또는 나는 그것을 얻지 않고있다. – haavee