Τρικ στρογγυλοποίησης ακεραίων στην Python

Στην Python για στρογγυλοποίηση αριθμών υπάρχει η build-in function round().
Η round(number,[ndigits]) παίρνει ένα αριθμό και επιστρέφει ένα float αριθμό στρογγυλοποιημένο. Αν δώσουμε το όρισμα ndigits (αριθμός παλι) η στρογγυλοποίηση γίνεται στα ndigits ψηφία. Πχ.
>>> round(1.123456,3)
1.123

Ο αριθμός στρογγυλοποιήθηκε στα 3 δεκαδικά ψηφία.
Υπάρχει όμως ένα undocumented feature της round() που μπορείς να δώσεις αρνητικό ndigits όρισμα!. Τότε αντί να μετράει δεξιά απο την υποδιαστολή, μετράει αριστερά.
Παράδειγμα:
>>> round(12345.123456,-1)
12350.0
>>> round(12345.123456,-3)
12000.0

Στο documentation δεν αναφέρουν τίποτα για αυτό.

Comments !

blogroll

social