美文网首页iOS经验总结
处理iOS double精度丢失问题

处理iOS double精度丢失问题

作者: 夏日冰霜 | 来源:发表于2019-07-22 09:51 被阅读0次

有些时候,后台返回类型为double类型的数值,如(double)558.93,那前端json解析后,会有精度丢失的问题,解析的结果为558.9299999999999



那如果需要前端把丢失的精度找回来,需要怎么做呢。我这里自己封装了一个方法,大家可以直接拿到项目中调用。

+ (NSString *)reviseString:(NSString *)str
{
    //直接传入精度丢失有问题的Double类型
    double conversionValue = [str doubleValue];
    NSString *doubleString = [NSString stringWithFormat:@"%.2lf", conversionValue];
    NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString];
    return [decNumber stringValue];
}

  • 其实最好的处理方式是,要求后台返回string类型,前端直接用string接收,不要进行任何转换。因为有些涉及金额类的数据,前端进行转换毕竟不那么安全。

相关文章

  • 处理iOS double精度丢失问题

    有些时候,后台返回类型为double类型的数值,如(double)558.93,那前端json解析后,会有精度丢失...

  • 2018-11-04-1

    java double计算精度问题 double计算防止精度丢失:方案:将double转成bigDecimalSy...

  • 精度丢失

    开发中处理处理价格金额问题, 后台经常返回float、double类型, 打印或转成NSString都会有精度丢失...

  • iOS恶心的Double精度

    最近发现在iOS中将String类型转化为Double类型的时候会有莫名奇妙的精度丢失问题,甚至在Double与D...

  • 记一道精度转换面试题

    解释:1.向上转换不会丢失精度(float--->double),向下转才会丢失精度(double--->floa...

  • Android面试知识点总结(八)

    double相加会出现什么问题? double 进行运算时,经常出现精度丢失的问题。比如: 得到结果为43.190...

  • js 小数的精度损失

    参考如何理解double精度丢失问题?比如1.1+0.1=1.2000000000000002,在java C++...

  • NSString转Double, 精度丢失处理

    后台返回一个“17.9”金额的值,通常方法,“17.9”.doubleValue后,结果变成了17.899999,...

  • OC、swift数据JSON序列化后,浮点型数据丢失的问题

    出现的问题:服务后端定义的数据类型为float、double时,前端进行序列化时数据精度丢失。 要么在后端处理,定...

  • 关于BigDecimal

    使用double和float计算时会造成精度丢失的问题 要进行计算要用BigDecimalBigdecimal a...

网友评论

    本文标题:处理iOS double精度丢失问题

    本文链接:https://www.haomeiwen.com/subject/pgqilctx.html