анализ значения float из веб-сервиса с помощью JSON

#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. нет, на самом деле я хочу использовать его позже для дополнительных вычислений, а не только для отображения 🙂