λάθη σε υπολογισμούς κινητής υποδιαστολής δεν είναι άγνωστες σε άλλες γλώσσες προγραμματισμού . Αυτά συμβαίνουν συνήθως σε αριθμούς μεγάλης αξίας . JavaScript παράγει ενδιαφέροντα αποτελέσματα κατά τη διάρκεια εργασιών με τις τιμές τόσο χαμηλά όσο 0,06 + 0,01 . Οι περισσότεροι άνθρωποι θα προσφέρουν 0,07 ως η λύση αυτής της εξίσωσης . JavaScript επιλύει αυτό ως απάντηση 0.06999999999999 . Κοντά, αλλά όχι αρκετά κοντά για εμπορική εφαρμογή .
Εικόνων μορφοποίηση και ακριβείας
JavaScript προσφέρει δύο λειτουργίες , toFixed ( ) και toPrecision ( ), που εξαλείφουν τα προβλήματα που συνδέονται με την οθόνη απρόβλεπτα αποτελέσματα. Η λειτουργία toFixed ( ) σας επιτρέπει να καθορίσετε τον αριθμό των ψηφίων που οι οθόνες του προγράμματος μετά την υποδιαστολή . Στην περίπτωση του νομίσματος , με το επιχείρημα num.toFixed ( 2 ) εμφανίζει μόνο τα δύο πρώτα ψηφία μετά την υποδιαστολή με αυτόματο στρογγυλοποίηση . Η λειτουργία toPrecision ( ) εμφανίζει μια απάντηση με το συνολικό αριθμό των ψηφίων που ορίζονται στο επιχείρημα χωρίς να λαμβάνεται υπόψη η σχέση τους με την υποδιαστολή .
Η Η αιτία
Η
στρογγυλοποίηση των λαθών που εισάγονται όταν δεκαδικοί αριθμοί μετατρέπονται σε δυαδικά strings . Η διαδικασία αυτή είναι αναγκαία, διότι ένας υπολογιστής μπορεί να λειτουργήσει μόνο με αυτά και μηδενικά . Πολλές γλώσσες ξεπεραστεί αυτό το σφάλμα στρογγυλοποίησης με τη χρήση των τύπων δεδομένων . Με τον καθορισμό πώς και με ποια ακρίβεια αποθηκεύεται μια μεταβλητή , γλώσσες όπως η C και η Java μείωση των σφαλμάτων αυτών . Όταν δηλώνοντας μια μεταβλητή σε JavaScript , δεν καθορίζεται ο τύπος . Αυτό οδηγεί σε χαρακτήρες, strings , ακέραιοι και πλωτήρες που αντιμετωπίζεται περισσότερο ή λιγότερο το ίδιο .
Εικόνων Λύση
Η
Η πιο συχνά χρησιμοποιούμενη στρατηγική για να ξεπεραστούν κινητής υποδιαστολής λάθη σε JavaScript είναι να πολλαπλασιάσουμε τις δύο μεταβλητές από 100 πριν από την εκτέλεση ενός υπολογισμού , χρησιμοποιώντας τον γύρο ( λειτουργία ) για να μειώσει την πλωτή λάθος σημείο και διαιρώντας το προϊόν αυτής της λειτουργίας από 100 πριν από την εκτύπωση την απάντηση .
Η
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα