2010-07-07 15 views
6

En una aplicación de iPhone, tengo 2 números grandes almacenados en NSStrings, y quiero averiguar el número de flotante que se logra al dividirlos.Divide Long Long Number como porcentaje

En este momento, no tengo:

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

(supongo que tengo que usar "unsigned long long" en lugar de enteros porque los números en los NSStrings son bastante alta la primera es 309681754 y el segundo es 6,854,433,820)

Sin embargo, después de hacer esto, siempre obtengo 0% en el campo de texto. ¿Qué estoy haciendo mal?

Gracias por cualquier ayuda con anticipación.

Respuesta

20

Usted está dividiendo enteros. Eso siempre resulta en un entero.

Lo que debes hacer es echarlas a las carrozas antes de dividirlas. Esto debería funcionar:

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

Gracias, eso funcionó. Si quisiera que el resultado estuviera en formato de porcentaje, ¿cómo movería el punto decimal? – element119

+0

Por ejemplo, obtengo .04518, y quiero que sea 4.518% – element119

+16

@golfromeo: ¿En serio? ¿Estás preguntando cómo * mover el punto decimal *? Suspiro. Multiplique por 100. –