美文网首页
截取小数点位数最多保留n位并去掉多余的0

截取小数点位数最多保留n位并去掉多余的0

作者: Fsn_soul | 来源:发表于2016-08-18 00:49 被阅读191次
@interface NSString (Helper)

/**
 *  截取小数点位数,最多保留digit位,且小数点后多余的0将被去掉.
 *
 *  @param digit 小数点后最多保留位数
 *
 *  @return 返回一个截取后的小数字符串对象
 */
- (NSString *)floatStringTruncateWithMaxReservedDecimalPointDigit:(NSInteger)digit;

@end
@implementation NSString (Helper)

- (NSString *)floatStringTruncateWithMaxReservedDecimalPointDigit:(NSInteger)digit
{
    if (self.length == 0) {
        return @"0";
    }
    
    if ([self rangeOfString:@"."].length == 0) {    //不是小数
        return self;
    }
    
    NSMutableString *formatString = [NSMutableString stringWithString:@"%.f"];
    [formatString insertString:[NSString stringWithFormat:@"%ld", (long)digit] atIndex:2];
    NSString *truncatedStr = [NSString stringWithFormat:formatString, self.floatValue];
    NSString *rs = [NSString stringWithFormat:@"%@", @(truncatedStr.floatValue)];
    return rs;
}

@end

相关文章

网友评论

      本文标题:截取小数点位数最多保留n位并去掉多余的0

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