Maison > Questions et réponses > le corps du texte
后台返回float类型数据8.2,实际用AFN的json解析后得到8.1999999999怎么回事?该怎么处理啊?
迷茫2017-04-18 09:32:46
La chaîne renvoyée n'est-elle pas une chaîne ? id = 2747 est le type de données de base.
天蓬老师2017-04-18 09:32:46
Essayez d'utiliser NSNumber accepter ? Ensuite, parfois, la conversion de type se passe mal, et vous pouvez alors réessayer sur le navigateur.
PHP中文网2017-04-18 09:32:46
Merci à tous, j'ai trouvé une solution. Lors du retour du type float ou double en arrière-plan, utilisez NSDecimalNumber pour résoudre le problème de perte de précision.
Ici je l'ai reçu en mode chaîne et j'ai directement ajouté la classification NSString. La méthode de correction est affichée comme suit :
+(NSString )réviseString :(NSString )string{
/* 直接传入精度丢失有问题的Double类型*/
double conversionValue = (double)[string floatValue];
NSString *doubleString = [NSString stringWithFormat:@"%lf", conversionValue];
NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString];
return [decNumber stringValue];
}
Les données renvoyées de cette manière sont les données de précision corrigées. En raison de besoins personnels, elles sont converties en type chaîne
.