Flowdock
method

screen_data

Importance_0
v1_8_6_287 - Show latest stable - 0 notes - Class: XSD::XSDFloat
screen_data(value) private

No documentation

This method has no description. You can help the Ruby community by adding new notes.

Hide source
# File lib/xsd/datatypes.rb, line 312
  def screen_data(value)
    # "NaN".to_f => 0 in some environment.  libc?
    if value.is_a?(Float)
      return narrow32bit(value)
    end
    str = value.to_s.strip
    if str == 'NaN'
      NaN
    elsif str == 'INF'
      POSITIVE_INF
    elsif str == '-INF'
      NEGATIVE_INF
    else
      if /^[+\-\.\deE]+$/ !~ str
        raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
      end
      # Float("-1.4E") might fail on some system.
      str << '0' if /e$/i =~ str
      begin
        return narrow32bit(Float(str))
      rescue ArgumentError
        raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
      end
    end
  end
Register or log in to add new notes.