美文网首页
精度丢失

精度丢失

作者: 羽化行云 | 来源:发表于2023-01-17 14:59 被阅读0次

开发中处理处理价格金额问题, 后台经常返回float、double类型, 打印或转成NSString都会有精度丢失问题 因此使用系统自带的NSDecimalNumber做处理, 能解决这问题.
错误:

{"price":6.3}
NSLog("%@", price);
price = 6.299999999999

解决方式:
在分类中添加以下代码,将有精度问题的传进去,返回值即解决过的问题

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

相关文章

  • 关于 IEEE754考察重点

    考察机器码格式,精度,表示数据范围,丢失的精度后表示的真值,可以表示的不丢失精度的范围。

  • 记一道精度转换面试题

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

  • 精度丢失

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

  • 简单数据类型

    机器码 溢出 精度丢失 内容待续

  • 2018-11-04-1

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

  • 精度丢失问题

    0.1 + 0.2 !== 0.30000000000000004产生的主要原因是 js通过64位的二进制数据存储...

  • 精度丢失问题

    背景 BFF Client 使用的 npm 包 request-promise-native 请求微服务接口返回 ...

  • 关于iOS数据解析小数丢失精度的问题

    /*! @brief 修正浮点型精度丢失 @param str 传入接口取到的数据 @return 修正精度后的数...

  • 小问题整理

    1.iOS11数字精度问题 /*! @brief 修正浮点型精度丢失 @param str 传入接口取到的数据 @...

  • 工作中遇到的坑

    js错误: js比较错误 Java错误: 使用BigDecimal进行精度操作时double转int异常或丢失精度...

网友评论

      本文标题:精度丢失

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