- (void)display{
    /**
     *  方法1(正则表达式)
     */
    NSString *regexZero = @"[0]$";
    NSString *regexDot = @"[.]$";
    NSPredicate *predZero = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regexZero];
    NSPredicate *predDot = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regexDot];
    while ([predZero evaluateWithObject:_numTemp] || [predDot evaluateWithObject:_numTemp]) {
        _numTemp = [_numTemp substringToIndex:_numTemp.length - 1];
    }
    /**
     *  方法2
     */
//    while ([[_numTemp substringFromIndex:_numTemp.length - 1] isEqualToString:@"0"] || [[_numTemp substringFromIndex:_numTemp.length - 1] isEqualToString:@"."]) {
//        _numTemp = [_numTemp substringToIndex:_numTemp.length - 1];
//    }
    [self.numDisplay setText:[NSString stringWithFormat:@"%@",_numTemp]];
}
                            
                                    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你的这个写法,运算起来相对会低效一些,我提供两个方法你可以参考一下,像这样的情况,最好是封装成
Category。这个你可以这样:
还可以这样,先将字符串转成
double或float再格式化输出。如果是限定一些格式的显示,最好是在服务器端处理好。
你的第一种方法有bug 100.0 输出1