美文网首页
NSNumber 转 NSString 直接转换导致的精度问题

NSNumber 转 NSString 直接转换导致的精度问题

作者: 乡下秋草 | 来源:发表于2020-12-14 19:41 被阅读0次
    NSNumber *number =@64.4;
    
    double d            = [number doubleValue];

    
    // 直接转换 NSNumber->NSString
    NSString *text1 = [number stringValue];
    
    // NSNumber-> Double ->NSString ->NSDecimalNumber ->NSString
    NSString *dStr      = [NSString stringWithFormat:@"%f", d];
    NSDecimalNumber *dn =[NSDecimalNumber decimalNumberWithString:dStr];
    NSString *text2 = [dn stringValue];
    
    // NSNumber-> Double ->NSString
    NSString *text3 = [NSString stringWithFormat:@"%f", d];

    NSLog(@"text1 ==== %@  text2 ===== %@  text3 ===== %@",text1,text2,text3);

输出

2020-12-14 19:36:57.614561+0800 DelegateDemo[13970:359440] 
text1 ==== 64.40000000000001  text2 ===== 64.4  text3 ===== 64.400000

相关文章

网友评论

      本文标题:NSNumber 转 NSString 直接转换导致的精度问题

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