Round a float : float « Number « Ruby






Round a float


class Float

  def roundf(places)
    temp = self.to_s.length
    sprintf("%#{temp}.#{places}f",self).to_f
  end

  def round2
    whole = self.floor
    fraction = self - whole
    if fraction == 0.5
      if (whole %2) == 0
        whole
      else
        whole+1
      end
    else
      self.round
    end

   end
end

 








Related examples in the same category

1.Floating Point Numbers
2.Check whether a number is finite or infinite with the finite? and infinite?
3.Check whether a floating-point value is a number at all with Float's nan?
4.ArgumentError: invalid value for Float(): "99.44% pure"
5.Float value step
6.Float predicates
7.Class constants
8.Rounding methods
9.Absolute value and sign
10.Constants in Float
11.round Rounds to the nearest integer.