Πρόσβαση στα ψηφία ενός αριθμού στο JavaScript
Ας υποθέσουμε ότι τώρα σε μια μεταβλητή έχουμε αποθηκεύσει
όχι έναν αριθμό σε εισαγωγικά, αλλά απλώς έναν αριθμό. Σε αυτήν την
περίπτωση, η προσπάθεια πρόσβασης σε έναν συγκεκριμένο
χαρακτήρα θα επιστρέψει undefined, αφού
μια τέτοια πρόσβαση λειτουργεί μόνο για συμβολοσειρές:
let test = 12345;
alert(test[0]); // θα επιστρέψει undefined
Για να λύσουμε το πρόβλημα, μετατρέπουμε τον αριθμό μας σε συμβολοσειρά:
let test = String(12345); // συμβολοσειρά
alert(test[0]); // θα εμφανίσει '1' - λειτουργεί όλα
Ας υποθέσουμε ότι τώρα θέλουμε να βρούμε το άθροισμα των πρώτων δύο ψηφίων:
let test = String(12345); // συμβολοσειρά
alert(test[0] + test[1]); // θα εμφανίσει '12' - αθροίζει ως συμβολοσειρές
Ας προσθέσουμε τη συνάρτηση Number για να
τα ψηφία αθροίζονται ως αριθμοί:
let test = String(12345); // συμβολοσειρά
alert(Number(test[0]) + Number(test[1])); // θα εμφανίσει 3
Υπενθυμίζω ότι ένα τέτοιο πρόβλημα θα προκύψει μόνο κατά την άθροιση. Για παράδειγμα, στον πολλαπλασιασμό, ο μετασχηματισμός σε αριθμούς μπορεί να μην γίνει:
let test = String(12345); // συμβολοσειρά
alert(test[1] * test[2]); // θα εμφανίσει 6
Δίνεται ο αριθμός 12345. Βρείτε το άθροισμα των ψηφίων
αυτού του αριθμού.
Δίνεται ο αριθμός 12345. Βρείτε το γινόμενο
των ψηφίων αυτού του αριθμού.
Δίνεται ο αριθμός 12345. Αλλάξτε τη σειρά των ψηφίων
αυτού του αριθμού αντίστροφα.