यह सुनिश्चित करने के लिए कि आपको समस्याएँ नहीं हैं: फ़्लोटिंग-पॉइंट अंकगणितीय समस्याओं के बारे में जानें, या किसी ऐसे व्यक्ति को नियुक्त करें, जो कुछ सामान्य ज्ञान का उपयोग करता है या करता है।
पहली समस्या सटीक है। कई भाषाओं में आपके पास "फ्लोट" और "डबल" ("डबल सटीक" के लिए डबल खड़ा होता है), और कई मामलों में "फ्लोट" आपको लगभग 7 अंक सटीक देता है, जबकि डबल आपको देता है 15. सामान्य ज्ञान यह है कि यदि आपके पास एक है ऐसी स्थिति जहां परिशुद्धता की समस्या हो सकती है, 15 अंक 7 अंकों की तुलना में एक बहुत अच्छा है। कई छोटी समस्याग्रस्त स्थितियों में, "डबल" का उपयोग करने का मतलब है कि आप इसके साथ दूर हो जाते हैं, और "फ्लोट" का अर्थ है कि आप नहीं। मान लीजिए कि किसी कंपनी का मार्केट कैप 700 बिलियन डॉलर है। फ्लोट में इसका प्रतिनिधित्व करते हैं, और सबसे कम बिट $ 65536 है। डबल का उपयोग करके इसका प्रतिनिधित्व करते हैं, और सबसे कम बिट लगभग 0.012 सेंट है। इसलिए जब तक आप वास्तव में, वास्तव में जानते हैं कि आप क्या कर रहे हैं, आप डबल का उपयोग करते हैं, फ्लोट का नहीं।
दूसरी समस्या अधिक सिद्धांत की बात है। यदि आप दो अलग-अलग गणना करते हैं जो एक ही परिणाम देना चाहिए, तो वे अक्सर गोलाई त्रुटियों के कारण नहीं होते हैं। दो परिणाम जो समान होने चाहिए, वे "लगभग बराबर" होंगे। यदि दो परिणाम एक साथ करीब हैं, तो वास्तविक मूल्य समान हो सकते हैं। या वे नहीं हो सकते हैं। आपको इसे ध्यान में रखना चाहिए और ऐसे कार्यों को लिखना और उपयोग करना चाहिए जो कहते हैं कि "x निश्चित रूप से y से अधिक है" या "x निश्चित रूप से y से कम है" या "x और y समान हो सकता है"।
यदि आप राउंडिंग का उपयोग करते हैं तो यह समस्या बहुत खराब हो जाती है, उदाहरण के लिए "निकटतम पूर्णांक के लिए राउंड x नीचे"। यदि आप 120 * 0.05 गुणा करते हैं, तो परिणाम 6 होना चाहिए, लेकिन जो आपको मिलता है वह "कुछ संख्या 6 के बहुत करीब है"। यदि आप "निकटतम पूर्णांक के लिए राउंड डाउन" करते हैं, तो "6 के करीब संख्या" "6 से थोड़ा कम" हो सकती है और 5. के लिए गोल हो सकता है और ध्यान दें कि आपके पास कितना सटीक है इससे कोई फर्क नहीं पड़ता। इससे कोई फर्क नहीं पड़ता कि आपका परिणाम 6 के करीब है, क्योंकि यह 6 से कम है।
और तीसरा, कुछ समस्याएं मुश्किल हैं । इसका मतलब है कि कोई त्वरित और आसान नियम नहीं है। यदि आपका कंपाइलर अधिक सटीकता के साथ "लॉन्ग डबल" का समर्थन करता है तो आप "लॉन्ग डबल" का उपयोग कर सकते हैं और देख सकते हैं कि क्या इससे कोई फर्क पड़ता है। यदि इससे कोई फर्क नहीं पड़ता है, तो या तो आप ठीक हैं, या आपको वास्तविक मुश्किल समस्या है। यदि यह उस प्रकार का अंतर करता है, जिसकी आप अपेक्षा करते हैं (जैसे 12 वें दशमलव पर परिवर्तन) तो आप संभवतः ठीक हैं। यदि यह वास्तव में आपके परिणामों को बदलता है, तो आपको एक समस्या है। मदद के लिए पूछना।