मेरे पास जावास्क्रिप्ट में यह कोड है:
विभिन्न बच्चों = आकार = 7; Var flAmt = parseFloat (100); Var amt = parseFloat (flAmt / childrenSize); // राउंडिंग-ऑफ फिक्स var newAmt = (amt.toFixed (2)) * बच्चों का आकार; चेतावनी (newAmt); Var अतिरिक्त = 0; अगर (newAmt! = FlAmt) अतिरिक्त = पर्सफ़्लॉट (फ्लैम - न्यूएएमटी); एएमटी = पर्सफ़्लॉट (एएमटी) + अतिरिक्त। टू फिक्स (2); सतर्क (एएमटी);
amt
होना चाहिए 14.25 लेकिन इसके बजाय, यह 14.285714285714286-0.03 हो जाता है ... क्यों?
इसके अलावा, मैं अपना कोड कैसे सुधार सकता / सकती हूं?
फ़ंक्शन एक स्ट्रिंग लौटाता है, इसलिए +
ऑपरेटर का उपयोग करके इसके अतिरिक्त एक स्ट्रिंग कॉन्टैनेशन करता है।
14.26 जो आप (लगभग) की उम्मीद कर रहे थे, इसके अतिरिक्त के बाद
toFixed
कॉल करें, जैसे:
amt = (parseFloat (एएमटी) + अतिरिक्त) .टीफ़िक्स (2) ;
हालांकि, amt
पहले से ही एक फ्लोट है, ऐसा लगता नहीं है जैसे कि parseFloat
यहां की आवश्यकता है।
Comments
Post a Comment