cari

Rumah  >  Soal Jawab  >  teks badan

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

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

高洛峰高洛峰2771 hari yang lalu1277

membalas semua(3)saya akan balas

  • 迷茫

    迷茫2017-04-18 09:32:46

    Bukankah rentetan yang dikembalikan ialah id = 2747 ialah jenis data asas Latar belakang bertanggungjawab untuk pemprosesan latar belakang

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:32:46

    Cuba gunakan NSNumber accept? Kemudian, kadangkala penukaran jenis menjadi salah, dan kemudian anda boleh mencubanya semula pada penyemak imbas.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 09:32:46

    Terima kasih semua, saya telah menemui penyelesaian Apabila mengembalikan float atau double type di latar belakang, gunakan NSDecimalNumber untuk menangani masalah kehilangan ketepatan.
    Di sini saya menerimanya dalam mod rentetan dan terus menambah klasifikasi NSString Kaedah pembetulan disiarkan seperti berikut:

    +(NSString )reviseString:(NSString )rentetan{

    /* 直接传入精度丢失有问题的Double类型*/
    double conversionValue        = (double)[string floatValue];
    NSString *doubleString        = [NSString stringWithFormat:@"%lf", conversionValue];
    NSDecimalNumber *decNumber    = [NSDecimalNumber decimalNumberWithString:doubleString];
    return [decNumber stringValue];

    }

    Data yang dikembalikan dengan cara ini ialah data ketepatan yang diperbetulkan, kerana keperluan peribadi, ia ditukar kepada jenis rentetan

    balas
    0
  • Batalbalas