Όλοι ξέρουμε ότι μπορούμε πολύ εύκολα να φτιάξουμε μια δική μας συνάρτηση που να στρογγυλοποιεί έναν αριθμό βάσει δοσμένου πλήθους δεκαδικών ψηφίψν. Ωστόσο δεν θα ήταν πολύ πιο κομψό και όμορφο να μπορούσαμε αυτή η συνάρτηση να είναι η Math.round που όλοι ξέρουμε και αγαπάμε?
Δεδομένου του τρόπου που η javascript χειρίζεται τις συναρτήσεις (ουσιαστικά μια συνάρτηση είναι ένας ειδικός τύπος μεταβλητής), κάτι τέτοιο είναι εφικτό. Ο κώδικας ακολουθεί παρακάτω:
Math._round = Math.round;
Math.round = function(number, precision)
{
precision = precision || 0;
var coefficient = Math.pow(10, precision);
return Math._round(number*coefficient)/coefficient;
}
Πλέον, μπορούμε να καλούμε την Math.round είτε με τον “παλιό” τρόπο, είτε χρησιμοποιώντας μια δεύτερη παράμετρο για το πλήθος των δεκαδικών ψηφίων που επιθυμούμε.
Αν θέλουμε δε να είμαστε σχολαστικοί, μπορούμε να περνάμε το precision από μια parseInt, ώστε να είμαστε βέβαιοι ότι είναι αυτό ακριβώς που περιμένουμε.
Πρόσφατα σχόλια