2016-07-31 55 views
0

Ich habe eine Methode erstellt, die zwei Zahlen akzeptiert und einen berechneten Wert zurückgibt, der auf drei Dezimalstellen gerundet ist. Ich bin neugierig zu wissen, wie ich Zahlen wie 1.141 gerundet werden kann, aber Zahlen wie 5.0 umgewandelt in ganze Zahlen (5).Runden einiger Zahlen und Konvertieren einiger Werte in int

Code:

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

Antwort

0

nicht sicher, ob es eine Funktion für Schwimmer gebaut ist, sondern ein hackish Weise so etwas wie dies sein könnte.

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

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