class Jekyll::JekyllRdf::Types::XsdDouble

Public Class Methods

===(other) click to toggle source
# File lib/jekyll/types/XsdDouble.rb, line 33
def self.=== other
  return other.to_s.eql? @@class_uri
end
match?(string) click to toggle source
# File lib/jekyll/types/XsdDouble.rb, line 7
def self.match? string
  return regex.match string.upcase
end
regex() click to toggle source
# File lib/jekyll/types/XsdDouble.rb, line 11
def self.regex
  @@regex ||= /^[+-]?[0-9]+\.(\d+)E[+-]?(\d+)$/
  return @@regex
end
to_s() click to toggle source
# File lib/jekyll/types/XsdDouble.rb, line 37
def self.to_s
  return @@class_uri
end
to_type(string) click to toggle source
# File lib/jekyll/types/XsdDouble.rb, line 16
def self.to_type string
  string = string.upcase
  number = string.to_f
  negative = number < 0
  if negative
    number = number * (-1)
  end
  e = [-1 * (Math.log10(number).floor - (string.to_s.index('E') - string.to_s.index('.'))), 0].max
  vz = ""
  if negative
    vz = "-"
  end

  result = vz.to_s + sprintf("%." + e.to_s +  "f", number)
  return result
end