How to format a UITextfield by seperating the digits entered by comma based on the denomination like 10,000,000.
Asked
Active
Viewed 56 times
-1
-
Try this ashutosh http://stackoverflow.com/questions/26569144/format-currency-in-textfield-in-swift-on-input – Dheeraj D Dec 15 '16 at 11:10
2 Answers
0
first you create the number formatter object with decimal style then convert your number to the formatted string
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
long priceInt = 10000000;
NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithLong:priceInt]];

sherif.Khaled
- 294
- 2
- 8
0
@interface NSString (NumberPadTools)
- (NSString*)numberPadformattedString;
@end
@implementation NSString (NumberPadTools)
- (NSString*)numberPadformattedString {
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[formatter setGroupingSeparator:@","];
[formatter setDecimalSeparator:@"."];
[formatter setMaximumFractionDigits:12];
// Decimal values read from any db are always written with no grouping separator and a comma for decimal.
NSNumber *numberFromString = [formatter numberFromString:self];
[formatter setGroupingSeparator:@","]; // Whatever you want here
[formatter setDecimalSeparator:@"."]; // Whatever you want here
NSString *finalValue = [formatter stringFromNumber:numberFromString];
return finalValue;
}
@end

Sargis
- 1,196
- 1
- 18
- 31