-1

How to format a UITextfield by seperating the digits entered by comma based on the denomination like 10,000,000.

Ashutosh Pandey
  • 238
  • 2
  • 11
  • 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 Answers2

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