ios - तेजी से: स्ट्रिंग को दोबारा बदलने में मुद्दा




swift cocoa (2)

यहां Xcode 7.3.1 के खेल का मैदान में एक सरल कोड है:

var str = "8.7" print(Double(str))

आउटपुट आश्चर्यजनक है: Optional(8.6999999999999993)

भी, Float(str) देता है: 8.69999981

इस लोगों पर कोई विचार या कारण? इसके बारे में कोई भी संदर्भ सराहना होगा

इसके अलावा, मुझे फिर से "8.7" से 8.7 के रूप में डबल (या फ्लोट) कैसे परिवर्तित करना चाहिए?

संपादित करें

तेजी से:

(NSString के रूप में str) .doubleValue 8.7 देता है

अब, यह ठीक है लेकिन मेरा प्रश्न अभी भी पूरा जवाब नहीं मिलता है। हमें एक विकल्प मिल गया है लेकिन हम डबल ("8.7") पर भरोसा क्यों नहीं कर सकते। कृपया, इस पर गहन जानकारी दें।

2 संपादित करें

(NSString के रूप में "6.9") .doubleValue // प्रिंट 6.9000000000000004

तो, सवाल फिर से खुल जाता है


आप इस कोड का उपयोग उपयोगी हो सकते हैं।

print(str.doubleValue)

मै इस्तेमाल करूंगा:

let doubleValue = NSNumberFormatter().numberFromString(str)?.doubleValue




cocoa-touch