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

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

高洛峰
高洛峰

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

membalas semua(3)
迷茫

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

Peter_Zhu

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

洪涛

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan