Ένας αριθμός κινητής υποδιαστολής είναι ένας αριθμός με μηδέν ή περισσότερα ψηφία μετά το δεκαδικό σύμβολο. Παραδείγματα είναι τα -2.4, 0.1, 3.14, 5., 16.984025 και 1024.0.
Διαφορετικοί τύποι κινητής υποδιαστολής μπορούν να αποθηκεύσουν διαφορετικό αριθμό ψηφίων μετά το δεκαδικό σύμβολο· αυτό ονομάζεται ακρίβεια του τύπου.
Η Go έχει δύο τύπους κινητής υποδιαστολής:
float32: 32 bit (ακρίβεια ~6-9 ψηφίων).float64: 64 bit (ακρίβεια ~15-17 ψηφίων).
Αυτός είναι ο προεπιλεγμένος τύπος κινητής υποδιαστολής.Όπως φαίνεται, και οι δύο τύποι μπορούν να αποθηκεύσουν διαφορετικό αριθμό ψηφίων.
Αυτό σημαίνει ότι αν προσπαθήσεις να αποθηκεύσεις το PI σε ένα float32, θα αποθηκευτούν μόνο τα πρώτα 6 έως 9 ψηφία (με το τελευταίο ψηφίο να στρογγυλοποιείται).
Από προεπιλογή, η Go χρησιμοποιεί float64 για τους αριθμούς κινητής υποδιαστολής, εκτός αν ο αριθμός κινητής υποδιαστολής:
float32, ήfloat32, ήfloat32().Το πακέτο math περιέχει πολλές χρήσιμες μαθηματικές συναρτήσεις.
Να είσαι πάντα προσεκτικός όταν ελέγχεις την ισότητα τιμών κινητής υποδιαστολής, καθώς τιμές που φαίνεται να αντιπροσωπεύουν την ίδια τιμή μπορεί στην πραγματικότητα να είναι διαφορετικές.
Μπορείς να βρεις μια σύντομη εισαγωγή στους αριθμούς κινητής υποδιαστολής στο 0.30000000000000004.com. Η σελίδα Float Toy έχει μια ωραία, γραφική εξήγηση του πώς τα bit ενός αριθμού κινητής υποδιαστολής μετατρέπονται σε μια πραγματική τιμή κινητής υποδιαστολής.