Module: FloatValuesFromString

Included in:
String
Defined in:
lib/hex_values.rb

Instance Method Summary collapse

Instance Method Details

#to_floatObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/hex_values.rb', line 11

def to_float
  negative = false
  str = self

  if self[0].eql? "-"
    negative = true
    str = self[1..self.length]
  end

  number = 0
  base, remainder = self.split('.')

  get_sum(base.split(//).reverse!) { |element, index| number += element.to_i(16) * (16 ** index) } if base
  get_sum(remainder.split(//)) { |element, index| number += element.to_i(16).to_f / (16 ** (index + 1)) } if remainder

  number = number * -1 if negative

  number
end