Skip to content
instance method

Integer#ceil

() -> ::Integer
(::int digits) -> (::Integer | ::Float)
ceil(ndigits = 0) → integer

Returns an integer that is a “ceiling” value for self, as specified by the given ndigits, which must be an integer-convertible object.

  • When self is zero, returns zero (regardless of the value of ndigits):

    Example
    0.ceil(2)  # => 0
    0.ceil(-2) # => 0
    
  • When self is non-zero and ndigits is non-negative, returns self:

    Example
    555.ceil     # => 555
    555.ceil(50) # => 555
    
  • When self is non-zero and ndigits is negative, returns a value based on a computed granularity:

    • The granularity is 10 ** ndigits.abs.

    • The returned value is the smallest multiple of the granularity that is greater than or equal to self.

    Examples with positive self:

    ndigits Granularity 1234.ceil(ndigits)
    -1 10 1240
    -2 100 1300
    -3 1000 2000
    -4 10000 10000
    -5 100000 100000

    Examples with negative self:

    ndigits Granularity -1234.ceil(ndigits)
    -1 10 -1230
    -2 100 -1200
    -3 1000 -1000
    -4 10000 0
    -5 100000 0

Related: Integer#floor.

See also #bit_length #ceildiv #anybits? #chr also in 4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0