फ्लोटिंग-पॉइंट संख्याएँ वास्तविक संख्याएँ हैं: इनका एक भिन्नात्मक भाग भी हो सकता है। मशीन में इन्हें बाइनरी बिट के एक पैटर्न के रूप में दर्शाया जाता है, जिसके लिए IEEE-754 स्पेसिफिकेशन का उपयोग किया जाता है। लोग फ्लोटिंग-पॉइंट संख्याओं को आम तौर पर फ्लोट कहते हैं।
फ्लोटिंग पॉइंट संख्याएँ हमेशा साइन्ड होती हैं। साइन्ड होने का मतलब है कि संख्या के बिट में से एक बिट इस बात के लिए आरक्षित रखा जाता है कि वह संख्या ऋणात्मक है या नहीं।
फ्लोटिंग पॉइंट संख्याओं की एक बिट चौड़ाई होती है, जो उस संख्या को बनाने वाले बिट की संख्या भर है। यह उस टाइप से दर्शाई जा सकने वाली वैल्यू की रेंज और परिशुद्धता को प्रभावित करती है।
Rust में फ्लोटिंग-पॉइंट के दो प्रिमिटिव टाइप हैं: f32 और f64. f के बाद लिखी संख्या बिट चौड़ाई बताती है। कुछ और भाषाओं में f32 को कभी-कभी "single-precision" और f64 को "double-precision" कहा जाता है।
आम तौर पर f64 इस्तेमाल कीजिए: ज़्यादातर आधुनिक आम हार्डवेयर पर यह f32 जितना ही तेज़ चलता है और फ्लोटिंग-पॉइंट अशुद्धि की घटनाएँ काफी कम कर देता है।
अगर आपको अनंत परिशुद्धता वाली परिमेय संख्याएँ चाहिए, तो आप num-rational क्रेट इस्तेमाल कर सकते हैं, जो BigRational टाइप देता है। अगर आपको निश्चित परिशुद्धता वाली दशमलव संख्याएँ चाहिए, तो आप rust_decimal क्रेट इस्तेमाल कर सकते हैं, जो Decimal टाइप देता है।
Rust में कोई अंतर्निहित संख्यात्मक रूपांतरण नहीं होता। अगर आपको फ्लोट टाइप के बीच कास्ट करना हो, तो दो बुनियादी तरीके हैं: as कीवर्ड, और From तथा TryFrom ट्रेट।
as कीवर्ड का इस्तेमाल आसान है: expr as Type. लेकिन as कास्ट इस्तेमाल करते समय कई सावधानियाँ और बारीकियाँ ध्यान में रखनी होती हैं।
ट्रेट पर आधारित कास्ट करना थोड़ा ज़्यादा पेचीदा है, लेकिन ज़्यादा सुरक्षित भी: रूपांतरण ट्रेट सिर्फ वहीं लागू किए जाते हैं जहाँ वे सुरक्षित होते हैं। उदाहरण के लिए, f32 From<u8>, From<u16>, From<i8>, और From<i16> को लागू करता है: इनमें से किसी भी टाइप में दर्शाई जा सकने वाली हर वैल्यू को f32 में भी दर्शाया जा सकना तय है। इसका इस्तेमाल f32::from(expr) या expr.into() की तरह किया जा सकता है, जहाँ expr इन्हीं टाइप में से किसी एक का होता है।
फ्लोटिंग-पॉइंट वैल्यू बदलते समय अक्सर as कास्ट को ही तरजीह दी जाती है, सिर्फ इसलिए कि ट्रेट पर आधारित कास्ट कम ही लागू किए गए हैं। अक्टूबर 2020 तक, फ्लोटिंग-पॉइंट संख्याओं के लिए TryFrom लागू नहीं है। f32 से f64 में as कास्ट करने पर कुछ नहीं खोता। उलटी दिशा में कुछ जानकारी खो जाती है, लेकिन इसके लिए एक तय कास्टिंग प्रोटोकॉल है जिसका उद्देश्य नुकसान को कम से कम करना है।