# File lib/ruby-vpi/float.rb, line 23 23: def to_f aRadix = 10 24: whole, frac = split('.', 2) 25: whole = whole.to_i(aRadix).to_f 26: 27: if frac 28: f = 0.0 29: 30: frac.length.times do |i| 31: power = i.next 32: weight = aRadix ** -power 33: digit = frac[i, 1].to_i(aRadix) 34: 35: f += digit * weight 36: end 37: 38: f = -f if self =~ /^-/ 39: whole += f 40: end 41: 42: whole 43: end