Method: HexaPDF::Serializer#serialize_float

Defined in:
lib/hexapdf/serializer.rb

#serialize_float(obj) ⇒ Object

Serializes a Float object.

See: PDF2.0 s7.3.3



205
206
207
208
209
210
211
212
213
# File 'lib/hexapdf/serializer.rb', line 205

def serialize_float(obj)
  if -0.0001 < obj && obj < 0.0001 && obj != 0
    sprintf("%.6f", obj)
  elsif obj.finite?
    obj.round(6).to_s
  else
    raise HexaPDF::Error, "Can't serialize special floating point number #{obj}"
  end
end