#web-services #json #ios
#веб-сервисы #json #iOS
Вопрос:
для анализа NSString я использовал это :
NSString *adress=[stations objectForKey:@"adress_station"];
что насчет float, как мне его назвать, я пытаюсь это сделать :
float distance=[stations objectForKey:@"distance"];
но я получил ошибку :
incompatible type in initialization
я не хочу помещать это в NSString, мне это нужно как float, потому что мне это нужно в других операциях
Ответ №1:
float distance = [[stations objectForKey:@"distance"] floatValue];
objectForKey возвращает объект (в данном случае я предполагаю, что это NSString).
Вызов -floatValue
NSString приведет к получению данных в виде float.
Комментарии:
1. спасибо, это работает как по волшебству, но когда я получаю его из веб-сервиса, оно округляется на одно число (т. е.: 7.1), но когда я показываю его на iPhone, оно больше не округляется (7.057124) :))
2. Это будет зависеть от того, что вы делаете со значением после его анализа. Не хотите уточнить?
3. полученное значение, например, 7.057124, я хочу, чтобы оно было 7.1
![]()
4. @Malek Вы действительно хотите, чтобы оно представлялось как 7.1 или просто отображалось как 7.1? Распечатав его с использованием форматера %0.1f, вы получите требуемый 7.1 для целей отображения. NSLog(@»%0.1f», расстояние); В противном случае, чтобы фактически округлить значение с плавающей точкой, вы можете использовать что-то вроде: distance = roundf(10 * distance) / 10;
5. нет, на самом деле я хочу использовать его позже для дополнительных вычислений, а не только для отображения
![]()