2016-07-31 5 views
0

2つの数字を取り、3つの10進数に丸めた計算値を返すメソッドを作成しました。私は1.141のような数字をどのように丸められるのか知りたいのですが、5.0のような数字は整数(5)になります。いくつかの数字を四捨五入し、一部をintに変換する

コード:

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

答えて

0

フロートのための機能に組み込まれていることを確認、しかしハック方法は、このようなものかもしれません。

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

conditional_truncation(1.141) 
=> 1.141 
conditional_truncation(5.0) 
=> 5 
関連する問題