chcę żadnych przedmiotów, które są zaokrąglone, takie jak ten:Jak zaokrąglić do dwóch miejsc po przecinku?
(5.101 * 100).round/100.0
na wyjściu tak:
5.10
Zamiast tego:
5.1
Jak mogę to zrobić w Rubin?
chcę żadnych przedmiotów, które są zaokrąglone, takie jak ten:Jak zaokrąglić do dwóch miejsc po przecinku?
(5.101 * 100).round/100.0
na wyjściu tak:
5.10
Zamiast tego:
5.1
Jak mogę to zrobić w Rubin?
Istnieje kilka sposobów, ale jestem za użyciem String's %
(Format) operator:
'%.2f' % [(5.101 * 100).round/100.0] # => "5.10"
Kernela sprintf
metoda ma dokumentację dla różnych flag i modyfikatorów. Jest też Kernel printf
, ale, jak już powiedziałem, polecam %
.
Mam nadzieję, że ci to pomoże.
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
'(5.0) .round (2)' zwraca '5.0' zamiast' 5.00' – Anwar
'(5.0) .round (2)' wykonuje zaokrąglenia. Nie formatuje. Są różne. –
I? Martwisz się, ponieważ zmiennoprzecinkowe nie są dokładne? http://stackoverflow.com/q/10721739/128421 –
To dobrze, ale twoje komentarze nie mają zastosowania do tego pytania. –
Rozumiem, chodzi o liczby zaokrąglone. Usuwanie ... Dziękuję – Anwar