舍入一些数字,并将一些数字转换为int

时间:2016-07-31 15:11:23

标签: ruby integer rounding

我创建了一个方法,它接受两个数字并返回一个舍入为三位小数的计算值。我很想知道如何将1.141这样的数字舍入,但5.0之类的数字变为整数(5)。

代码:

def calculateHypotenuse(a,b)
    if (a <= 0 || b <= 0)
      return raise 
    end
    c = Math.sqrt((a * a) + (b * b))
    return c.round(3)
end

1 个答案:

答案 0 :(得分:0)

不确定是否有浮动内置函数,但是一种hackish方式可能是这样的。

def conditional_truncation(x)   
  x.truncate == x ? x.truncate : x
end

conditional_truncation(1.141)
 => 1.141
conditional_truncation(5.0)
 => 5