Ios 用户在UITextField中输入值时如何添加货币分隔符或货币面额
这里有一点混乱。我只想在用户输入值时添加货币分隔符,并在用户编辑该值时调整分隔符的位置。我在这里尝试过,但它只处理最近输入的字符Ios 用户在UITextField中输入值时如何添加货币分隔符或货币面额,ios,objective-c,string,uitextfield,Ios,Objective C,String,Uitextfield,这里有一点混乱。我只想在用户输入值时添加货币分隔符,并在用户编辑该值时调整分隔符的位置。我在这里尝试过,但它只处理最近输入的字符 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)text 如果任何人知道任何更好的委托方法,请检查以下代码,可能会根据您的要求提供帮助和更改: - (BOOL)textField:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)text
如果任何人知道任何更好的委托方法,请检查以下代码,可能会根据您的要求提供帮助和更改:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)text{
NSDecimalNumber *amount = [NSDecimalNumber decimalNumberWithString: textField.text];
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSString *formattedCurrency = [currencyFormatter stringFromNumber:amount];
if ([formattedCurrency isEqualToString:@"NaN"]) {
formattedCurrency=@"";
}
textField.text=[NSString stringWithFormat:@"%@",formattedCurrency];
return YES;
}
检查以下代码,可能会有所帮助,并根据您的要求进行更改:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)text{
NSDecimalNumber *amount = [NSDecimalNumber decimalNumberWithString: textField.text];
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSString *formattedCurrency = [currencyFormatter stringFromNumber:amount];
if ([formattedCurrency isEqualToString:@"NaN"]) {
formattedCurrency=@"";
}
textField.text=[NSString stringWithFormat:@"%@",formattedCurrency];
return YES;
}
好的,让我简化一下,在我的例子中,只想在右侧每三位数字后加上“.”,上面的代码将根据区域设置自动格式化金额。调试并检查发生了什么on@jaymalaOk让我简化一下,在我的例子中,我只想加上一句从右侧开始,每三位数字后,上述代码将根据区域设置自动格式化金额。调试并检查发生了什么on@jaymala