루비에서 정수를 16진수 문자열로 변환
루비의 정수를 16진수에 해당하는 것으로 변환하는 내장된 방법이 있습니까?
다음과 같은 것과 반대되는 것:
"0A".to_i(16) #=>10
예를 들어:
"0A".hex #=>10
나는 나만의 롤을 할 줄 알지만, 아마도 내장된 루비 기능을 사용하는 것이 더 효율적일 것입니다.
10이 아닌 기준을 지정할 수 있습니다.
10.to_s(16) #=> "a"
루비 2.4에서는FixNum
그리고.BigNum
에서 통일되었습니다.Integer
class. 오래된 루비를 사용하는 경우 FixNum#to_s
및 BigNum#to_s
의 문서를 확인합니다.
/:sprintf
를 사용하는 것은 어떻습니까?
i = 20
"%x" % i #=> "14"
요약:
p 10.to_s(16) #=> "a"
p "%x" % 10 #=> "a"
p "%02X" % 10 #=> "0A"
p sprintf("%02X", 10) #=> "0A"
p "#%02X%02X%02X" % [255, 0, 10] #=> "#FF000A"
다음은 또 다른 접근 방식입니다.
sprintf("%02x", 10).upcase
의 설명서를 참조sprintf
여기: http://www.ruby-doc.org/core/classes/Kernel.html#method-i-sprintf
음수 형식을 선호하는 경우:
p "%x" % -1 #=> "..f"
p -1.to_s(16) #=> "-1"
언급URL : https://stackoverflow.com/questions/84421/converting-an-integer-to-a-hexadecimal-string-in-ruby
'source' 카테고리의 다른 글
git-gc를 얼마나 자주 사용해야 합니까? (0) | 2023.07.09 |
---|---|
Mongobdb - 중첩된 배열 및 개체 쿼리 (0) | 2023.07.04 |
iOS 7 UIBarButton 뒤로 버튼 화살표 색상 (0) | 2023.07.04 |
오라클11g에서 매개 변수화된 보기 생성 (0) | 2023.07.04 |
파이썬 디자인 패턴 (0) | 2023.07.04 |