मैं जावास्क्रिप्ट के साथ एक बजट आवेदन बना रहा हूं। मुझे जावास्क्रिप्ट को अधिकांश परिचालन करना है। तो मेरे पास कुछ नियंत्रण हैं जहां उपयोगकर्ता श्रेणी के लिए वांछित राशि बदलता है और मेरा एप्लिकेशन उपश्रेणियों के लिए नई रकम दिखाता है। तो अगर मैं है + ऑटो $ 50.23 - गैस $ 30.25 - रखरखाव $ 6.27 - बीमा $ 10.02 - उपयोगकर्ता परिवर्तन ...जावास्क्रिप्ट के साथ मुद्रा संचालन?
तो अगर ऑटो 50.23 90.00, गैस, रखरखाव, बीमा, आदि के लिए मात्रा में उनकी मूल श्रेणी में% वृद्धि को दर्शाएगा।
समस्या यह है कि कुछ परिचालनों के बाद मैंने परिशुद्धता खो दी और यह कुछ गड़बड़ी पैदा करता है। अधिकांश बार संख्याएं जोड़ती नहीं हैं (जैसा कि उन्हें करना चाहिए)। ऑटो के लिए कुछ बार मात्रा बदलने के बाद और फिर इसे 0 पर सेट करने के बाद, अन्य रकम हमेशा 0 पर नहीं जातीं, और कभी-कभी वे 0 से नीचे जाते हैं जो मुझे NaN देते हैं, इसलिए यदि मैं बाद में 0 से अधिक कुछ के लिए ऑटो बदलता हूं, मेरा नाएन नाएन रहेगा।
मैंने अभी सुना है कि जावास्क्रिप्ट में भिन्नता अनुमानित हैं जो एक और समस्या है। मैंने यह देखने के लिए Google की कोशिश की कि यह एक तथ्य है, लेकिन कुछ भी नहीं मिला (शायद मैंने सही शर्तों की तलाश नहीं की थी)
मुझे यकीन है कि आप में से कुछ समान समस्याओं में भाग गए हैं, आप क्या करेंगे सुझाना? किसी ने मेरे मूल नंबर को 100 से गुणा करने का सुझाव दिया और फिर सभी परिचालनों को करने का सुझाव दिया, लेकिन मुझे डर है कि यह मुझे सटीकता खोने की समस्या से दूर होने में मदद नहीं करेगा।
कोई विचार?
मैं आपकी मदद की सराहना करता हूं!
जेएस में प्रत्येक नंबर एक फ़्लोटिंग पॉइंट नंबर है, लेकिन आपको 2-प्लेस नंबरों पर इतना सटीकता नहीं खोनी चाहिए। एफपी राउंडिंग एक समस्या बनने से पहले आपको सचमुच हजारों या लाखों पुनरावृत्तियों की आवश्यकता होगी। क्या आप अपने कोड का प्रासंगिक बिट दिखा सकते हैं जहां आप गणना करते हैं? हमें पूरे पृष्ठ की आवश्यकता नहीं है, बस इतना छोटा सा। –
अच्छी तरह से आप संभवतः डॉलर और सेंट (सभी पूर्णांक) जैसे गुणों के साथ अपनी खुद की कक्षा बना सकते हैं और अपने स्वयं के संचालन को लागू कर सकते हैं – spacevillain
एफपी अतिरिक्त त्रुटियां जावास्क्रिप्ट में सबसे अधिक रिपोर्ट की गई त्रुटियां हैं। – jzilla