Question

Je reçois problème de l'infini dans une application iPhon. Le problème est très étrange. Je dois calculer la limite de zoom à l'aide de la formule suivante.

zoomLimit = 1/(mapState.iBufferMult*0.75);

La valeur de mapState.iBufferMult = 3

Le problème est que la plupart du type formule donne la valeur correcte 0,44. Mais il donne parfois INFINITY.

Quelqu'un peut-il me dire pourquoi il est en train de faire comme ça.

Était-ce utile?

La solution

  

Quelqu'un peut-il me dire pourquoi il est en train de faire comme ça.

Oui, je peux: quand mapState.iBufferMult est 0 (zéro), alors:

zoomLimit = 1/(mapState.iBufferMult*0.75)
          = 1/(0*0.75)
          = 1/0
          = INFINITY

Résoudre le problème de mapState.iBufferMult et vous avez résolu celui-ci.

Autres conseils

Parce que mapState.iBufferMult est 0 dans les cas où l'expression est INFINITY. Quelque chose dans votre programme est mise à 0. Connectez-vous et le résultat de la division et vérifier chaque fois.

parce que parfois mapState.iBufferMult == 0.

Vérifiez que vous avez pas un pointeur ballants.

Comme certains du temps, mapState est nul ou mapState.iBufferMult est 0.

Ou le problème réside en dehors de cette ligne.

Peut-être définir un point de jonction et l'arrêt quand zoomLimit est INFINITY.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top