2010-09-02 11 views
1

comment utiliser la variable i à la place de '1.4' .je veux utiliser la variable i pour effectuer un zoom arrière et zoom dans le webview.comment utiliser variable au lieu de constantes

[tp stringByEvaluatingJavaScriptFromString:@"document.body.style.zoom = '1.4';"]; 

Merci à l'avance

Répondre

2

Vous pouvez utiliser la méthode de classe NSStringstringWithFormat:

[tp stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.body.style.zoom = '%f';", i]; 
+0

Si vous utilisez un spécificateur 'd', vous perdrez le point décimal. –

+0

Droite. Je l'ai changé en '% f'. –

+0

% f pourrait bien faire quelque chose de complètement faux, selon le type utilisé pour déclarer i (par exemple, comme un double). – hotpaw2

0

Vous pouvez créer une chaîne en utilisant stringWithFormat:.

Quelque chose comme [tp stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.body.style.zoom = '%d'", i];

+0

J'écrivais comme vous l'avez posté, Jacob. Désolé pour ça. –

+0

Je n'ai pas non plus remarqué que c'était un flotteur. Cela devrait être% f au lieu de% d. –

0

Pour utiliser stringWithFormat pour créer une chaîne que vous pouvez passer à stringByEvaluatingJavaScriptFromString, vous devez connaître le type de votre variable scalaire i.

Si c'est un int, utilisez '% d'. Si c'est un flottant, utilisez '% f'. Si c'est un double usage '% lf'.

Ou vous pourriez jeter à un certain type premier:

[tp stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.body.style.zoom = '%lf';", (double)i]; 
0

[tp stringByEvaluatingJavaScriptFromString: [NSString stringWithFormat: @ "document.body.style.zoom = '% f';", i]

% f stocke i et dit que c'est un flotteur.

Sur une note de côté, si vous souhaitez spécifier le nombre de décimales sont affichées, vous écririez % .02f

Le zéro, il dit au pad le nombre avec des zéros. Le '2' indique 2 positions décimales. Un autre exemple: Si vous voulez trois décimales, utilisez% .03f Si vous ne voulez pas le remplissage de zéros, enlever le 0.

Pour 1.4, utilisez% .1f

Questions connexes