ios - json 解析float类型多出几位小数怎么处理?
高洛峰
高洛峰 2017-04-18 09:30:46
0
3
1281

后台返回float类型数据8.2,实际用AFN的json解析后得到8.1999999999怎么回事?该怎么处理啊?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(3)
迷茫

La chaîne renvoyée n'est-elle pas une chaîne ? id = 2747 est le type de données de base.

Peter_Zhu

Essayez d'utiliser NSNumber accepter ? Ensuite, parfois, la conversion de type se passe mal, et vous pouvez alors réessayer sur le navigateur.

洪涛

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

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal