class ActiveRecord::Type::Float  
        Active Model Float Type
Attribute type for floating point numeric values. It is registered under the :float key.
class BagOfCoffee
  include ActiveModel::Attributes
  attribute :weight, :float
end
bag = BagOfCoffee.new
bag.weight = "0.25"
bag.weight # => 0.25
bag.weight = ""
bag.weight # => nil
bag.weight = "NaN"
bag.weight # => Float::NAN
Values are cast using their to_f method, except for the following strings:
- 
Blank strings are cast to
nil. - 
"Infinity"is cast toFloat::INFINITY. - 
"-Infinity"is cast to-Float::INFINITY. - 
"NaN"is cast toFloat::NAN. 
Inherits From
- 
          class
          
Value - 
          module
          
ActiveModel::Type:: Helpers:: Immutable  - 
          module
          
ActiveModel::Type:: Helpers:: Numeric  
Public instance methods
Source code GitHub
# File activemodel/lib/active_model/type/float.rb, line 40
def type
  :float
end
            Source code GitHub
# File activemodel/lib/active_model/type/float.rb, line 44
def type_cast_for_schema(value)
  return "::Float::NAN" if value.try(:nan?)
  case value
  when ::Float::INFINITY then "::Float::INFINITY"
  when -::Float::INFINITY then "-::Float::INFINITY"
  else super
  end
end