2010-04-17 13 views
6

मुझे नंबर ए से 0.5 घटाकर और संख्या बी को उत्तर सेट करने की आवश्यकता है। मेरा कोड ऐसा लगता है कि यह काम करेगा लेकिन मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं। मुझे जो त्रुटि मिलती है वह घटाव रेखा पर है, त्रुटि incompatible type for argument 1 of 'decimalNumberBySubtracting:' कहती है।NSDecimalNumber घटाव

यहाँ मेरा हैडर: (नोट: मैं केवल संख्या से पता चला है क्योंकि हैडर बड़ी है)

NSDecimalNumber *a; 
    NSDecimalNumber *b; 

यहाँ बाकी: (मान लें कि यह एक IBAction में है)

b = [a decimalNumberBySubtracting:0.5]; 

किसी को भी तो जानता है कि किसी भी मदद को सही तरीके से घटाना कैसे सराहना की जाएगी।

उत्तर

13

पैरामीटर एक NSDecimalNumber भी होना चाहिए।

NSDecimalNumber *half = [NSDecimalNumber decimalNumberWithString:@"0.5"]; 
b = [a decimalNumberBySubtracting:half]; 

आपके उदाहरण में आप एक फ्लोट का उपयोग कर रहे हैं।

  • ऑब्जेक्टिव-सी रनटाइम पर एक नाव और एक वस्तु distinguis नहीं कर सकते हैं, जिसका अर्थ है आप एक वस्तु के बजाय एक नाव की आपूर्ति नहीं कर सकते हैं: वहाँ दो कारण यह है कि काम नहीं कर सकता है।
  • अधिकांश दशमलव संख्याओं को वास्तव में एक बाइनरी सिस्टम में वर्णित नहीं किया जा सकता है, इसलिए आपको दशमलव या बाइनरी संख्याओं के साथ विशेष रूप से काम करना होगा, लेकिन दोनों नहीं।
+0

उत्तर के लिए धन्यवाद जो अब समझ में आता है। – nosedive25

संबंधित मुद्दे