problème de INFINITY lors de la division est iOS
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.
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.