recherche

Maison  >  Questions et réponses  >  le corps du texte

ios - json 解析float类型多出几位小数怎么处理?

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

高洛峰高洛峰2771 Il y a quelques jours1285

répondre à tous(3)je répondrai

  • 迷茫

    迷茫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.

    répondre
    0
  • 天蓬老师

    天蓬老师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.

    répondre
    0
  • PHP中文网

    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

    .

    répondre
    0
  • Annulerrépondre