선도를 가진 16 진수를 표시하는 더 좋은 방법이 있습니까? 0
? 나는 시도 :선행 0을 사용하여 16 진수를 인쇄하는 방법
i.to_s(16)
하지만 "02"
을 기대
2.to_s(16) #=> "2"
합니다. 내가
"0100"
을 원하는
2
작동
"%02x" % i
하지만
"%02x" % 256 #=> "100"
: 나는 인쇄 형식을 시도했다. 그래서 나는이 함께했다 :
class Integer
def to_hex_string
("%0x" % self).size % 2 == 0 ? "%0x" % self : "%0#{("%0x" % self).size+1}x" % self
end
end
의미가 있습니다 :
2.to_hex_string #=> "02"
256.to_hex_string #=> "0100"
그것은 클래스 Bignumber
으로도 작동하지만, 그런 쉬운 요청이 같은 트릭을 필요로하는 이상한 보인다. 더 좋은 생각이야?
그냥 숫자 앞에 0을 넣어하려는 경우, 시도' "0 # {i.to_s (16)}"'또는' "0 % X"%의 i'. 그러나 이것은 일반적으로 8 진수를 나타냅니다. 일반적인 16 진수 접두사는''% # x "% i'을 사용하여 인쇄 할 수있는'0x'입니다. – Stefan
댓글을 주셔서 감사합니다.하지만 to_s (16)은 BigNumber – Bruno