# File lib/ruby-vpi/float.rb, line 9 9: def to_f aRadix = 10 10: whole, frac = split('.', 2) 11: whole = whole.to_i(aRadix).to_f 12: 13: if frac 14: f = 0.0 15: 16: frac.length.times do |i| 17: power = i.next 18: weight = aRadix ** -power 19: digit = frac[i, 1].to_i(aRadix) 20: 21: f += digit * weight 22: end 23: 24: f = -f if self =~ /^-/ 25: whole += f 26: end 27: 28: whole 29: end