自定义输入输出一个带分隔符,保留两位小数的金额文本

最近要做一个金融类的项目,需要将输出到金额转化为类似100,200.123的形式,于是自己写了一个方法。定义一个NSNumberFormatter属性numberFormatter。关键代码如下,可以将下面方法单独写成一个类,这样在所有需要输出金额的地方都可以使用。方法中isDecimal用来区别是否需要保留两位小数

- (NSNumberFormatter *)numberFormatter {

    if (!_numberFormatter) {

        _numberFormatter = [[NSNumberFormatteralloc] init];

        _numberFormatter.numberStyle =NSNumberFormatterDecimalStyle;

    }

    return_numberFormatter;

}


- (NSString *)stringWithNumberStr:(NSString *)numStr isDecimal:(BOOL)isDecimal {

    NSString *tempStr = [numStrstringByReplacingOccurrencesOfString:@","withString:@""];

    double num = [tempStrdoubleValue];

    

    NSString *string = [self.numberFormatterstringFromNumber:[NSNumbernumberWithDouble:num]];

    if (isDecimal) {

        NSRange range = [stringrangeOfString:@"."];

        if (range.location ==NSNotFound) {

            string = [stringstringByAppendingString:@".00"];

        } else if (range.location == string.length -2){

            string = [stringstringByAppendingString:@"0"];

        }

    } else {

        NSRange range = [stringrangeOfString:@"."];

        if (range.location ==NSNotFound) {

            

        } else {

            string = [stringsubstringToIndex:range.location];

        }

    }

    

    return string;

}

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值