Estoy calculando la velocidad de un iPhone, y necesito saber cómo convertir la variable calculateSpeed que es de tipo double para escribir string para mostrar en una etiqueta.Cómo convertir el tipo de doble a cadena de iPhone?
Aquí es lo que tengo en la cabecera:
@interface myProject : UIViewController <CLLocationManagerDelegate> {
double calculatedSpeed;
UILabel *velocityLabel;
}
Y aquí es lo que tengo en consideración: los
-(void)speedLocation:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
double gpsSpeed = newLocation.speed;
if(oldLocation != nil)
{
CLLocationDistance distanceChange = [newLocation getDistanceFrom:oldLocation];
NSTimeInterval sinceLastUpdate = [newLocation.timestamp timeIntervalSinceDate:oldLocation.timestamp];
calculatedSpeed = distanceChange/sinceLastUpdate;
velocityLabel.text = calculatedSpeed;
}
}
Observe cómo estoy tratando de establecer velocityLabel a calculatedSpeed, que es una variable con el tipo doble. Entonces, naturalmente, me da el error: tipo incompatible para el argumento 1 de 'setText:'.
Su ayuda es muy apreciada.
Gracias!
Posiblemente también es útil para decir que los formateadores aceptados por NSString son los mismos que los aceptados por printf, como se documenta en un montón de lugares, incluyendo http://www.thinkage.ca/english/gcos/expl/c /lib/printf.html. Por lo tanto, si busca 'g' verá que es un resultado "doble" (es decir, flotante según las reglas de promoción C) en formato científico o estándar. – Tommy
@Tommy: O 'man 3 printf'. –
¡Funciona genial gracias! –