Добре, сега пиша приложение за калкулатор. Досега нямам много късмет по отношение на десетичните знаци (последният ми подход не работи добре).
-(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 преобразуване (което е правилно).
Какъв е най-добрият начин да постигнете това?