عدد ممیز شناور عددی است که صفر یا چند رقم بعد از ممیز دارد. مثالهایی از آن -2.4، 0.1، 3.14، 5.، 16.984025 و 1024.0 هستند.
انواع مختلف ممیز شناور میتوانند تعداد متفاوتی رقم بعد از ممیز ذخیره کنند، که به آن دقت آن نوع گفته میشود.
Go دو نوع ممیز شناور دارد:
float32: ۳۲ بیت (دقت حدود ۶ تا ۹ رقم).float64: ۶۴ بیت (دقت حدود ۱۵ تا ۱۷ رقم).
این نوع پیشفرض اعداد ممیز شناور است.همانطور که میبینید، هر دو نوع میتوانند تعداد متفاوتی رقم ذخیره کنند.
یعنی اگر عدد پی را در یک float32 ذخیره کنید، فقط ۶ تا ۹ رقم اول ذخیره میشود (رقم آخر گرد میشود).
بهطور پیشفرض، Go برای اعداد ممیز شناور از float64 استفاده میکند، مگر اینکه آن عدد ممیز شناور یکی از این موارد باشد:
float32 نسبت داده شود، یاfloat32 برگردانده شود، یاfloat32() داده شود.[بستهٔ math] توابع ریاضی مفید زیادی دارد.
هنگام بررسی برابری مقادیر ممیز شناور همیشه احتیاط کنید، چون مقادیری که به نظر میرسد یک مقدار یکسان را نشان میدهند، میتوانند در واقع متفاوت باشند.
مقدمهی کوتاهی دربارهی اعداد ممیز شناور را میتوانید در 0.30000000000000004.com پیدا کنید. [صفحهی Float Toy] توضیح گرافیکی جالبی دارد از اینکه بیتهای یک عدد ممیز شناور چگونه به یک مقدار ممیز شناور واقعی تبدیل میشوند.