AFNetworking изменяет номер json на неверную строку - PullRequest
0 голосов
/ 10 января 2020

Я звоню, используя AFHTTPSessionManager:

//HTTP GET
[self GET:path parameters:parameters success:^(NSURLSessionDataTask * task, id responseObject) {

    blockOnSuccess(self,responseObject);

} failure:^(NSURLSessionDataTask * task, NSError * error) {
    [self logFailure: error url: path];
    blockOnFailure(self,error);

}];

Объект отклика json, просматриваемый в Charles Proxy, имеет это значение:

"sellingPrice": 9.95

Ответ от AFHTTPSessionManager, выводится на консоль, имеет это значение:

sellingPrice = "9.949999999999999";

У меня проблемы с пониманием, почему оно меняет число и тип значения. Кто-нибудь сталкивался с этим раньше и получил ответ?

1 Ответ

0 голосов
/ 10 января 2020

Функция печати - преобразование чисел в строки и потеря точности. Извините AFNetworking!

(lldb) print responseObject[@"variants"][0][@"sellingPrice"]

(__NSCFNumber *) $ 0 = 0x00006000024c9c60 (двойной) 9,95

(lldb) po responseObject[@"variants"][0][@"sellingPrice"]

9,949999999999999

...