Search code examples
iphoneiphone-sdk-3.0uitextfielduilabel

How to use NSNumberFormatter for currency to print in UITextField


I am a N00b here .

I print my currency like this :

-(IBAction)buttonPressed1:(id)sender
    {
        double currency = [Amount1.text doubleValue] + [Amount2.text doubleValue]; 
        SumCurrency.text = [NSString stringWithFormat:@"%0.0f", answer];
    }

I just simply want to use NSSNumberFormatter to print the SumCurrency.text in US Currency format .. Having a lot of trouble with it ..Please hekp

same issue ??? http://groups.jonzu.com/z_apple_using-a-nsnumberformatter-with-a-uitextfield.html

Thanks in Advance .

Regards , N00b


Solution

  • I got the answer .. But for anyone's future reference

    -(IBAction)buttonPressed1:(id)sender {
         double currency = [Amount1.text doubleValue] + [Amount2.text doubleValue]; 
         NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];                
         [numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
         NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithFloat:currency]];
         SumCurrency.text = [NSString stringWithFormat:@"Converted:%@",numberAsString]; 
    }
    

    or, in Swift:

    let amount = 123.56
    let formatter = NumberFormatter()
    formatter.locale = Locale.current
    // or
    // f.locale = Locale(identifier: "it_IT")
    formatter.numberStyle = .currency
    
    let formattedAmountSting = formatter.string(for: amount)!