zoukankan      html  css  js  c++  java
  • iOS 开发中保留小数问题

    保留两位小数(四舍五入)


    
    - (void)viewDidLoad {
        [super viewDidLoad];
     
        // 有时候我们需要对数据保留两位小数,而且需要四舍五入,并且需要把末尾多余的0给去掉
        下面提供两种方法来处理,推荐方法一,简单方便
        
        NSLog(@"SuperNSLog--- %@",[self formatValue:23.50]);
        NSLog(@"SuperNSLog--- %@",[self formatValue:23.00]);
        NSLog(@"SuperNSLog--- %@",[self formatValue:23.23]);
        NSLog(@"SuperNSLog--- %@",[self formatValue:23.4545]);
        NSLog(@"SuperNSLog--- %@",[self formatValue:101.0002]);
        NSLog(@"SuperNSLog--- %@",[self formatValue:2.305]);
        NSLog(@"SuperNSLog--- %@",[self formatValue:2.304]);
        NSLog(@"SuperNSLog--- %@",[self formatValue:5.746]);
        NSLog(@"SuperNSLog--- %@",[self formatValue:-5.746]);
        NSLog(@"SuperNSLog--- %@",[self formatValue:-5.744]);
    
        
    }
    
    // 方法一
    - (NSNumber *)formatValue:(CGFloat)value {
        
        return  @([NSString stringWithFormat:@"%.2f", value].floatValue);
    }
    
    // 方法二
    //- (NSString *)formatValue:(float)value {
    //    
    //    NSString *str = [NSString stringWithFormat:@"%.2f",value];
    //    
    //    if ((NSInteger)(str.floatValue * 100) % 100 == 0) {
    //        
    //        return [NSString stringWithFormat:@"%.0f",value];
    //        
    //    }else if ((NSInteger)(str.floatValue * 100) % 10 == 0) {
    //        
    //        return [NSString stringWithFormat:@"%.1f",value];
    //        
    //    }else {
    //        
    //        return str;
    //    }
    //    
    //}
    
    

    运行结果


    2017-02-28 17:46:49.313 1[18429:91975] SuperNSLog--- 23.5
    2017-02-28 17:46:49.314 1[18429:91975] SuperNSLog--- 23
    2017-02-28 17:46:49.314 1[18429:91975] SuperNSLog--- 23.23
    2017-02-28 17:46:49.314 1[18429:91975] SuperNSLog--- 23.45
    2017-02-28 17:46:49.315 1[18429:91975] SuperNSLog--- 101
    2017-02-28 17:46:49.315 1[18429:91975] SuperNSLog--- 2.31
    2017-02-28 17:46:49.315 1[18429:91975] SuperNSLog--- 2.3
    2017-02-28 17:46:49.316 1[18429:91975] SuperNSLog--- 5.75
    2017-02-28 17:46:49.316 1[18429:91975] SuperNSLog--- -5.75
    2017-02-28 17:46:49.316 1[18429:91975] SuperNSLog--- -5.74
    
  • 相关阅读:
    [Reproduced]BIOS -- Basic Input and Output System
    What is CSM mode?
    java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 In TextInputLayout
    What is “passive data structure” in Android/Java?
    Android Studio 手动配置 Gradle
    ScrollView内嵌ListView,ListView显示不全及滑动冲突的问题
    Android安全开发之Provider组件安全
    Android permission and uses-permission
    PriorityBlockingQueue(带优先级的阻塞队列)
    Lesson: Generics (Updated)
  • 原文地址:https://www.cnblogs.com/chao8888/p/6480026.html
Copyright © 2011-2022 走看看