美文网首页
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