ios - 如何在 UITextField 中为每 3 位数字添加逗号?

标签 ios uitextfield

当用户在文本字段中输入他们的号码时,我试图在我的文本字段上显示类似 1,000,000.99 而不是 1000000.99 的内容。我看过其他问题,但没有一个真正适合我的需求和代码。我现在有以下内容。我正在尝试在现有代码之上添加新代码。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    int countDots = (int)[textField.text componentsSeparatedByString:(@".")].count-1;
    if (countDots > 0 && [string  isEqual: @"."]) {
        return NO;
    } else if ([textField.text length]>12 && [string length] > range.length) {
                   return NO;
    } else{
        return YES;
    }
}

现在,我的条件检查“只有一位小数”和最多“12 位数字”。我希望能够添加逗号

最佳答案

你可以使用

NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; // important line!

NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithInteger:4000000]];

希望对你有帮助

关于ios - 如何在 UITextField 中为每 3 位数字添加逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35407475/

相关文章:

objective-c - 在+完成按钮+文本字段更新中动画选择器

iphone - 如何在 iPhone 应用程序中垂直居中显示 UITextField 中的文本

ios - 我们如何使用 UITextField 的 defaultTextAttribute?

ios - Swift/NSURLSession JSON 下载/在展开可选值时意外发现 nil

ios - 关于 iCarousel 和标签 iOS

ios - TextField 覆盖在 ScrollView 上 "Adjust to Fit"TextField 不起作用

ios - 在 Swift 中格式化电话号码

ios - 在 Objective-C 文件中调用 Swift API

iphone - 2D 和 3D 变换可以应用于 iOS 控件吗?

ios - 比较 xcode 7 中的版本