я должен преобразовать шестнадцатеричную строку в шестнадцатеричное целое число, например:Преобразование шестнадцатеричной строки в шестнадцатеричном междунар
color = "0xFF00FF" #can be any color else, defined by functions
colorto = 0xFF00FF #copy of color, but from string to integer without changes
я могу иметь формат RGB тоже.
Я обязан это сделать, потому что эта функция идет после:
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
Я видел here, что существуют шестнадцатеричные числа. Может кто-нибудь помочь мне с этой проблемой?
Почему вы ожидали 'color.to_i' быть ничем иным, кроме '0'? Вы прочитали api docs (http://apidock.com/ruby/String/to_i), которые показывают, что база по умолчанию равна «10», поэтому ваша строка с нулем, а затем «x» будет считаться десятичной нотой. Вам нужно сказать 'to_i', что ваша строка представляет собой шестую строку, и API показывает это. – Pavling