tôi phải chuyển đổi một chuỗi thập lục phân cho một số nguyên hệ thập lục phân, như thế này:Chuyển đổi một chuỗi hex đến một int hex
color = "0xFF00FF" #can be any color else, defined by functions
colorto = 0xFF00FF #copy of color, but from string to integer without changes
tôi có thể có định dạng RGB quá.
tôi bắt buộc phải làm điều này vì chức năng này đi sau:
def i2s int, len
i = 1
out = "".force_encoding('binary')
max = 127**(len-1)
while i <= len
num = int/max
int -= num*max
out << (num + 1)
max /= 127
i += 1
end
out
end
tôi thấy here rằng số nguyên hệ thập lục phân tồn tại. ai đó có thể giúp tôi vấn đề này không?
Tại sao bạn mong chờ 'color.to_i' được bất cứ điều gì khác hơn '0'? Bạn đã đọc tài liệu api (http://apidock.com/ruby/String/to_i) cho thấy cơ sở mặc định là '10', do đó chuỗi của bạn có số không thì 'x' sẽ được xem là số không thập phân. Bạn cần nói phương thức 'to_i' là chuỗi của bạn là chuỗi ký tự hex - và API hiển thị điều đó. – Pavling