J'essaie d'afficher la valeur d'une latitude et longitude, que j'ai interrogé à partir d'une table SQL. Mon problème est que lorsque la valeur est 0.000000, il sort quelque chose le long de la ligne de 1.04480899798659e-276. J'ai vérifié la valeur de la sortie au-dessus de ces deux lignes de code:Pourquoi ma fonction génère-t-elle une valeur aléatoire, qui ressemble à une adresse mémoire?
latitudeOutput.text = [[NSNumber numberWithDouble:[theGPS latitude]] stringValue];
longitudeOutput.text = [[NSNumber numberWithDouble:[theGPS longitude]] stringValue];
et il devrait certainement être sortie 0,000000. Est-ce que quelqu'un sait pourquoi cela se produit, et de toute façon je peux le réparer?
---- ---- Ajouté Section
Pourquoi cette instruction if else continuer tout droit jusqu'à la section else, malgré la valeur de la latitude et la longitude étant égale à 0,000000?
if(latitude == @"0.000000" && longitude == @"0.000000"){
latitudeOutput.textColor = [UIColor grayColor];
longitudeOutput.textColor = [UIColor grayColor];
latitudeOutput.text = @"Latitude";
longitudeOutput.text = @"Longitude";
}
else {
latitudeOutput.text = latitude;
longitudeOutput.text = longitude;
}
Voulez-vous afficher la latitude et la longitude sous forme de chaîne? Essayez ceci: 'latitudeOutput.text = [NSString stringWithFormat: @"% f ", [theGPS latitude]];' – Bannings
Pour ce type de comparaison, vous devez utiliser 'isEqualToString:' de sorte que ce soit '[latitude isEqualToString: @" 0.000000 "]' –