Sha256: 62a25e478e6b2609bd87ec1218a178c13a86d43576b1767003d51bbbfe7a51db

Contents?: true

Size: 1.28 KB

Versions: 10

Compression:

Stored size: 1.28 KB

Contents

# -*- encoding: utf-8 -*-
# -*- frozen_string_literal: true -*-
# -*- warn_indent: true -*-

module UnitMeasurements
  module Math
    # Rounds quantity of the measurement. If `ndigits` is not specified,
    # quantity is rounded to +Integer+.
    #
    # @example
    #   UnitMeasurements::Weight.new(1, "g").convert_to("st").round(4)
    #   => 0.0002 st
    #
    # @param [Integer] ndigits
    #
    # @return [Measurement]
    def round(ndigits = 0)
      self.class.new(quantity.round(ndigits), unit)
    end

    # Returns absolute value of the measurement quantity.
    #
    # @example
    #   UnitMeasurements::Length.new(-17.625, "m").abs
    #   => 17.625 m
    #
    # @return [Measurement]
    def abs
      self.class.new(quantity.abs, unit)
    end

    # Rounds quantity of the measurement to next lower integer.
    #
    # @example
    #   UnitMeasurements::Length.new(17.625, "m").floor
    #   => 17 m
    #
    # @return [Measurement]
    def floor(*args)
      self.class.new(quantity.floor(*args), unit)
    end

    # Rounds quantity of the measurement to next higher integer.
    #
    # @example
    #   UnitMeasurements::Length.new(17.625, "m").ceil
    #   => 18 m
    #
    # @return [Measurement]
    def ceil(*args)
      self.class.new(quantity.ceil(*args), unit)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
unit_measurements-4.9.0 lib/unit_measurements/math.rb
unit_measurements-4.8.0 lib/unit_measurements/math.rb
unit_measurements-4.7.0 lib/unit_measurements/math.rb
unit_measurements-4.6.0 lib/unit_measurements/math.rb
unit_measurements-4.5.0 lib/unit_measurements/math.rb
unit_measurements-4.4.0 lib/unit_measurements/math.rb
unit_measurements-4.3.0 lib/unit_measurements/math.rb
unit_measurements-4.2.0 lib/unit_measurements/math.rb
unit_measurements-4.1.0 lib/unit_measurements/math.rb
unit_measurements-4.0.0 lib/unit_measurements/math.rb