2010-07-07 14 views
6

In einer iPhone App habe ich 2 große Zahlen in NSStrings gespeichert, und ich möchte herausfinden, die Float-Nummer, die durch Dividieren erhalten wird.Dividieren Long Long Anzahl als Prozent

Gerade jetzt, ich habe:

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

(ich nehme an, ich habe „unsigned long long“ statt Ints zu verwenden, da die Zahlen in den NSStrings ziemlich hoch der erste sind, ist 309.681.754 und die zweite ist 6.854.433.820)

Allerdings, nachdem ich dies tun, bekomme ich immer 0% in das Textfeld. Was mache ich falsch?

Vielen Dank für jede Hilfe im Voraus.

Antwort

20

Sie teilen Ganzzahlen. Das ergibt immer eine Ganzzahl.

Was Sie tun müssen, ist es, sie zu schweben, bevor Sie teilen. Das sollte funktionieren:

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

Danke - das hat den Trick gemacht. Wenn ich das Ergebnis im Prozentformat haben möchte, wie würde ich den Dezimalpunkt verschieben? – element119

+0

Zum Beispiel bekomme ich .04518, und ich möchte es 4,518% – element119

+16

@Golfromeo: Ernsthaft? Sie fragen, wie * Sie den Dezimalpunkt bewegen *? Seufzer. Multiplizieren mit 100. –

Verwandte Themen