मैं एनएसएसटींग को एनएसएनंबर में numbreFromString का उपयोग किए बिना कनवर्ट करना चाहता हूं: विधि? NumbreFromString: मेटगोड 4.0 में अजीब तरह से अभिनय कर रहा है। तो मैं एनएसएसटींग को एनएसएनंबर में बदलने के लिए एक विकल्प का उपयोग करना चाहता हूं। कृपया मेरी मदद करो ....संख्या से काम करने के बिना एनएसएसटींग से NSNumber को परिवर्तित करने के लिए
+ (NSString *)formatText:(NSString *) text withLocalSettings:(BOOL) isLacale {
NSNumber *aNsNumber= [numberFormatter numberFromString: text];
NSString *returnString = [NSString stringWithString:[numberFormatter stringForObjectValue:aNsNumber]];
if(isLacale) {
return returnString;
}
else {
return [NSString stringWithFormat:@"%lf",[aNsNumber doubleValue]];
}
}
मैं एक आवेदन मैं दोनों 3.0 और 4.0 में मेरी अनुप्रयोग चलाने के लिए की जरूरत को विकसित कर रहा हूँ। मेरे पास एक टेक्स्टफील्ड है जहां मैं टेक्स्टफील्ड में संख्याओं को दर्ज करने का प्रयास करता हूं, व्यवहार इस तरह है ... 3.0 में: - यह 7 अंकों और 2 fractional मानों को दर्ज करने की अनुमति देता है (मैंने इसे इस तरह स्वरूपित किया है)। मैंने चयनित देश के आधार पर अल्पविराम पृथक्करण के साथ संख्याओं को स्वरूपित और स्थानित किया है। यह पूरी तरह से 3.0 और 3.1.2
4.0 में: - यह आपको केवल 4 नंबरों में प्रवेश करने की अनुमति देता है और 5 वें अंक में प्रवेश करने के बाद यह टेक्स्टफील्ड खाली कर रहा है .. जब आप 5 वें नंबर में प्रवेश करते हैं तो कुछ भी प्रदर्शित नहीं होता है आप 6 वां नंबर दर्ज करते हैं जो इसे पहले नंबर से शुरू होता है और उसी टिल 4 नंबरों को जारी रखता है। पूर्व: - जब आप 1234 में प्रवेश करते हैं, तो टेक्स्टफील्ड दिखाई देता है - 1234 और जब आप 12345 दर्ज करते हैं, तो टेक्स्टफील्ड "" दिखाई देता है। और जब आप 6 में प्रवेश करते हैं तो यह 6 से शुरू होता है और इसी तरह ..
मैं टेक्स्टफील्ड में दर्ज मानों को प्रारूपित करने के लिए NSNumberFormatter और numberfromstring विधि का उपयोग कर रहा हूं।
मैं समझने के लिए क्यों यह इस तरह हो रहा है नहीं पा रहा हूँ ... कृपया मेरी मदद करो ...
मैं शायद यह देखने की कोशिश करता हूं कि विधि अजीब तरीके से क्यों काम कर रही है। 10 में से 9 मामलों में समस्या इनपुट में निहित है। अपना कोड और इनपुट पोस्ट करें - जो हमें काम करने के लिए और अधिक देगा। –
+ (एनएसएसटींग *) प्रारूप टेक्स्ट: (एनएसएसटींग *) टेक्स्ट के साथ टेक्स्टल सेटिंग्स: (बूल) isLacale { \t [संख्याफॉर्मेटर बनाए रखें]; \t NSNumber * aNsNumber = [[NSNumber alloc] init]; \t aNsNumber = [संख्याफॉर्मेटर संख्याप्रोस्ट्रिंग: टेक्स्ट]; \t \t // एनएसएलओजी (@ "एनएसएनंबर का मूल्य है ...% @", एएनएसएनंबर); \t एनएसएसटींग * वापसीस्ट्रिंग = [एनएसएसटींग स्ट्रिंगविथस्ट्रिंग: [संख्याफॉर्मेटर स्ट्रिंगफोरऑब्जेक्ट वैल्यू: एएनएस नम्बर]]; \t \t यदि (isLacale) { \t \t वापसी वापसीस्ट्रिंग; \t} बाकी \t { \t \t वापसी [NSString stringWithFormat: @ "% वामो", [aNsNumber doubleValue]]; \t} } –
टेक्स्ट नंबर में 4 नंबर दर्ज करने के बाद एएनएसएनंबर 4.0 में शून्य हो रहा है और जब आप टेक्स्टफील्ड में 5 वां नंबर दर्ज करते हैं और इस प्रारूप को कॉल करने का प्रयास करते हैं तो टेक्स्ट विधि, एनएसएनंबर 4.0 में शून्य हो जाता है लेकिन 3.0 से 3.1.3 में यह ठीक काम कर रहा है .... –