2013-08-01 3 views

Antwort

16

Es gibt ein paar Möglichkeiten, aber ich favorisieren mit String's % (Format) Betreiber:

'%.2f' % [(5.101 * 100).round/100.0] # => "5.10" 

Kernel des sprintf Methode in der Dokumentation für die verschiedenen Flaggen und Modifikatoren hat. Es gibt auch Kernel printf aber, wie ich schon sagte, würde ich mit % gehen.

+0

Und? Sie sind besorgt, weil Fließkomma nicht korrekt ist? http://stackoverflow.com/q/10721739/128421 –

+1

Das ist gut, aber Ihre Kommentare sind nicht auf diese Frage anwendbar. –

+0

Ich sehe, es geht um abgerundete Zahlen. Entfernen ... Danke – Anwar

9

Ich hoffe, es wird Ihnen helfen.

2.0.0p195 :002 > (52.452158744).round(2) 
=> 52.45 
2.0.0p195 :003 > (20.452158744).round(2) 
=> 20.45 
2.0.0p195 :004 > (20.002555).round(2) 
=> 20.0 
2.0.0p195 :005 > (20.012555).round(2) 
=> 20.01 
+0

'(5.0) .round (2)' gibt '5.0' statt' 5.00' zurück – Anwar

+4

'(5.0) .round (2)' macht das Runden. Es macht keine Formatierung. Sie sind anders. –