Преобразование шестнадцатеричного представления двоичного числа двойной точности обратно в double в Ruby

#ruby #double #numerical-methods

#ruby #double #числовые методы

Вопрос:

Как я могу преобразовать шестнадцатеричное число двойной точности обратно в double?

Например, учитывая строку '4045000000000000' , как мне вернуться к double 42.0 ?

Ответ №1:

Упакуйте шестнадцатеричное число в байты и распакуйте их как double:

 ['4045000000000000'].pack("H*").unpack("G").first # => 42.0
  

Комментарии:

1. Я думал, что unpack где-то там. Спасибо за вашу помощь.