NSNumberFormatter, добавяне на десетичен знак към калкулатора от потребителския интерфейс

Добре, сега пиша приложение за калкулатор. Досега нямам много късмет по отношение на десетичните знаци (последният ми подход не работи добре).

-(void) DecimalAdded
{
    NSNumberFormatter *formatter = [[NSNumberFormatter  alloc] init]; 
    [formatter  setNumberStyle:NSNumberFormatterDecimalStyle];
    [formatter  setAlwaysShowsDecimalSeparator:YES];
    [formatter setGeneratesDecimalNumbers:YES];
    [formatter setDecimalSeparator:@"."];

    //first convert the float value of CN into NSnumber

    NSNumber  *nextstepNumFromCNF= [NSNumber numberWithFloat:currentNumber];

    //now we have to convert that number into a string

    NSString *CNconverted = [formatter stringFromNumber:nextstepNumFromCNF];




    NSNumber *CNdecmAddedAndReadyForPars = [formatter numberFromString:CNconverted];

    currentNumber = currentNumber*10 + [CNdecmAddedAndReadyForPars floatValue];

    CalculatorScreen = [NSMutableString stringWithFormat: @"%@", CNconverted];

Мога да добавя низа към екрана на калкулатора. Мога да кажа, че числото е 1, виждам "1." докато пиша. Това обаче обикновено се преобразува в 1 по време на th float преобразуване (което е правилно).

Какъв е най-добрият начин да постигнете това?


person KCobjectiveC    schedule 24.05.2012    source източник
comment
стилов коментар за вас: имената на методите (функциите) и имената на променливите винаги трябва да започват с малка буква в Objective C. Имената на класовете са това, което започва с главни букви.   -  person Michael Dautermann    schedule 24.05.2012
comment
stackoverflow.com/questions/2054218/   -  person kgu87    schedule 24.05.2012