2010-07-07 20 views
6

एक आईफोन ऐप में, मेरे पास एनएसएसटींग्स ​​में 2 बड़ी संख्याएं संग्रहीत हैं, और मैं उन्हें विभाजित करके प्राप्त फ्लोट नंबर को जानना चाहता हूं।प्रतिशत के रूप में लंबी लंबी संख्या को विभाजित करें

अभी, मेरे पास है:

unsigned long long number = [string1 longLongValue];
unsigned long long number2 = [string2 longLongValue];
float percent = number/number2;
[textField setText:[NSString stringWithFormat: @"%f%%",percent]];

(मुझे लगता है मैं "अहस्ताक्षरित लंबे" ints के बजाय का उपयोग करने के क्योंकि NSStrings में संख्या रहे हैं बहुत उच्च पहले एक 309,681,754 और दूसरा 6,854,433,820 है)

हालांकि, ऐसा करने के बाद, मुझे टेक्स्ट फ़ील्ड में हमेशा 0% मिलता है। मैं क्या गलत कर रहा हूं?

अग्रिम में किसी भी मदद के लिए धन्यवाद।

उत्तर

20

आप पूर्णांक को विभाजित कर रहे हैं। यह हमेशा एक पूर्णांक में परिणाम।

आपको विभाजन करने से पहले उन्हें फ़्लोट करने के लिए क्या करना है। यह काम करना चाहिए:

float percent = (float)number/(float)number2; 
+0

धन्यवाद- यह चाल है। अगर मैं परिणाम स्वरूप में होना चाहता था, तो मैं दशमलव बिंदु कैसे ले जाऊं? – element119

+0

उदाहरण के लिए, मुझे .04518 मिल रहा है, और मैं इसे 4.518% – element119

+16

@golfromeo होना चाहता हूं: गंभीरता से? आप पूछ रहे हैं कि * दशमलव बिंदु * कैसे ले जाएं? आह। 100 से गुणा करें। –

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