2016-11-10 1 views

Répondre

0

C'est assez simple: Diviser par 1000.

+0

mais où je vais diviser par 1000 u peut me dire un peu plus en détail. –

0

Par division someNumber avec 1000.

NSNumber *someNumber = [[_dict2 objectForKey:@"location"] objectForKey:@"distance"]; 
someNumber = [someNumber floatValue] * 1000; 
NSString *someString = [someNumber stringValue]; 
+0

Qu'est-ce que «lire» ici? – NSNoob

+0

désolé. vérifie maintenant – KKRocks

0

1 mètre est égal à 0,001 KM (soit 1/1000 = 0,001).

Vous pouvez donc simplement multiplier la valeur que vous recevez de l'API par 0,001 et vous obtiendrez la réponse en KM.

NSNumber *someNumber = [[_dict2 objectForKey:@"location"] objectForKey:@"distance"]; 
float convertedToKM = [someNumber floatValue]*0.001; 
someNumber = [NSNumber numberWithFloat:convertedToKM]; 
NSString *someString = [someNumber stringValue]; 
_lbldistance.text=someString; 

Puisque vous affichez le résultat, il est préférable de le limiter à deux décimales, comme c'est la pratique standard. Vous pouvez le faire comme:

NSNumber *someNumber = [[_dict2 objectForKey:@"location"] objectForKey:@"distance"]; 
float convertedToKM = [someNumber floatValue]*0.001; 
NSString *someString = [NSString stringWithFormat:@"%.02f", convertedToKM]; 
_lbldistance.text=someString; 
1

Si vous voulez même inclure km dans la chaîne utiliser NSLengthFormatter

NSNumber *someNumber = @1568; 
NSLengthFormatter *formatter = [[NSLengthFormatter alloc] init]; 
NSString *distanceInKM = [formatter stringFromMeters:someNumber.doubleValue]; 
NSLog(@"%@", distanceInKM); // 1.568 km