Skip to content
On this page

End of Life Ruby 3.2 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

class · Ruby 3.2

Float

< Numeric 48 instance methods

A Float object represents a sometimes-inexact real number using the native architecture’s double-precision floating point representation.

Floating point has a different arithmetic and is an inexact number. So you should know its esoteric system. See following:

You can create a Float object explicitly with:

You can convert certain objects to Floats with:

What’s Here

First, what’s elsewhere. Class Float:

Here, class Float provides methods for:

Querying

  • finite?: Returns whether self is finite.

  • hash: Returns the integer hash code for self.

  • infinite?: Returns whether self is infinite.

  • nan?: Returns whether self is a NaN (not-a-number).

Comparing

  • <: Returns whether self is less than the given value.

  • <=: Returns whether self is less than or equal to the given value.

  • <=>: Returns a number indicating whether self is less than, equal to, or greater than the given value.

  • == (aliased as === and eql?): Returns whether self is equal to the given value.

  • >: Returns whether self is greater than the given value.

  • >=: Returns whether self is greater than or equal to the given value.

Converting

  • % (aliased as modulo): Returns self modulo the given value.

  • *: Returns the product of self and the given value.

  • **: Returns the value of self raised to the power of the given value.

  • +: Returns the sum of self and the given value.

  • -: Returns the difference of self and the given value.

  • /: Returns the quotient of self and the given value.

  • ceil: Returns the smallest number greater than or equal to self.

  • coerce: Returns a 2-element array containing the given value converted to a Float and self

  • divmod: Returns a 2-element array containing the quotient and remainder results of dividing self by the given value.

  • fdiv: Returns the Float result of dividing self by the given value.

  • floor: Returns the greatest number smaller than or equal to self.

  • next_float: Returns the next-larger representable Float.

  • prev_float: Returns the next-smaller representable Float.

  • quo: Returns the quotient from dividing self by the given value.

  • round: Returns self rounded to the nearest value, to a given precision.

  • to_i (aliased as to_int): Returns self truncated to an Integer.

  • to_s (aliased as inspect): Returns a string containing the place-value representation of self in the given radix.

  • truncate: Returns self truncated to a given precision.

Instance methods 48

Constants

DIG

The minimum number of significant decimal digits in a double-precision floating point.

Usually defaults to 15.

The difference between 1 and the smallest double-precision floating point number greater than 1.

Usually defaults to 2.2204460492503131e-16.

An expression representing positive infinity.

The number of base digits for the double data type.

Usually defaults to 53.

MAX

The largest possible integer in a double-precision floating point number.

Usually defaults to 1.7976931348623157e+308.

The largest positive exponent in a double-precision floating point where 10 raised to this power minus 1.

Usually defaults to 308.

The largest possible exponent value in a double-precision floating point.

Usually defaults to 1024.

MIN

The smallest positive normalized number in a double-precision floating point.

Usually defaults to 2.2250738585072014e-308.

If the platform supports denormalized numbers, there are numbers between zero and Float::MIN. 0.0.next_float returns the smallest positive floating point number including denormalized numbers.

The smallest negative exponent in a double-precision floating point where 10 raised to this power minus 1.

Usually defaults to -307.

The smallest possible exponent value in a double-precision floating point.

Usually defaults to -1021.

NAN

An expression representing a value which is “not a number”.

The base of the floating point, or number of unique digits used to represent the number.

Usually defaults to 2 on most systems, which would represent a base-10 decimal.