質問

- (void)textFieldDidEndEditing:(UITextField *)textField

{
    if (textfield1) {

        NSString *txt = self.textfield1.text;

        double num1 = [txt doubleValue];

        double tCost = num1 /100;

        NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];

        [numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];


        NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithFloat:tCost]];

        self.textfield1.text = [NSString stringWithFormat:@"%0.@",numberAsString];
    }
}

This is the code ive put together it formats the output of a textfield into currency im trying to work out how do format the currency so the output is,

if someone types in 1625 it formats it as 0.1625 currently if somone types in 50 it formats it as 0.50 which is correct as it supposed to be a calculator which is taking in peoples electricity rates which is either in cents or pences.

役に立ちましたか?

解決 2

  • (void)textFieldDidEndEditing:(UITextField *)textField

{ if (textfield1) {

    NSString *txt = self.textfield1.text;

    double num1 = [txt doubleValue];


    double tCost = num1/100;





    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];

    [numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];


    //  NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithFloat:tCost]];

    //NSString *numberAsString = [numberFormatter stringFromNumber:
    //                      [NSNumber numberWithDouble:[tCost doubleValue]]];



    [numberFormatter setMaximumFractionDigits:3];

    [numberFormatter setRoundingMode: NSNumberFormatterRoundUp];

    NSString *numberString = [numberFormatter stringFromNumber:[NSNumber numberWithFloat:tCost]];


    self.textfield1.text = [NSString stringWithFormat:@"%@",numberString];
}

}

他のヒント

To get currency formatting use the following code :

- (NSString*) getAmountInCurrencyFormatWithValue:(NSString*) valueString {

    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
    NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithDouble:[valueString doubleValue]]];

    return numberAsString;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top