# File lib/innodb/data_type.rb, line 114 def value(data) # Strings representing the integral and fractional parts. intg, frac = "", "" stream = StringIO.new(data) mask = sign_mask(stream) intg << get_digits(stream, mask, @comp_integral) (1 .. @uncomp_integral).each do intg << get_digits(stream, mask, MAX_DIGITS_PER_INTEGER) end (1 .. @uncomp_fractional).each do frac << get_digits(stream, mask, MAX_DIGITS_PER_INTEGER) end frac << get_digits(stream, mask, @comp_fractional) # Convert to something resembling a string representation. str = mask.to_s.chop + intg + '.' + frac BigDecimal.new(str).to_s('F') end