#import "Normale.h" @implementation Normale @synthesize casella; - (IBAction) calcolaRisultato: (id)sender { NSNumber *risultato; NSString *risultatoInStringa; numero2 = @([[casella stringValue] doubleValue]); [self cancellaCasella:0]; switch (operazioneCorrente) { case 1:{ risultato = @([numero1 doubleValue] / [numero2 doubleValue]); break; } case 2:{ risultato = @([numero1 doubleValue] * [numero2 doubleValue]); break; } case 3:{ risultato = @([numero1 doubleValue] - [numero2 doubleValue]); break; } case 4:{ risultato = @([numero1 doubleValue] + [numero2 doubleValue]); break; } } if(fmod([risultato doubleValue],1) == 0) risultatoInStringa = [NSString stringWithFormat:@"%d", [risultato intValue]]; else risultatoInStringa = [NSString stringWithFormat:@"%f", [risultato doubleValue]]; [casella setStringValue: risultatoInStringa]; } - (IBAction) cancellaCasella: (id)sender { [casella setStringValue: @"0"]; } - (IBAction) inviaCifra: (id)sender { if([sender tag] == 10) [casella setStringValue: [[casella stringValue] stringByAppendingFormat:@"."]]; else [casella setStringValue: [[casella stringValue] stringByAppendingFormat:@"%ld", [sender tag]]]; if([[casella stringValue] characterAtIndex:0] == '0' && isdigit([[casella stringValue] characterAtIndex:1])) [casella setStringValue: [[casella stringValue] substringFromIndex:1]]; } - (IBAction) inviaOperazione: (id)sender { numero1 = @([[casella stringValue] doubleValue]); [casella setStringValue: @"0"]; [self cancellaCasella:0]; operazioneCorrente = [sender tag]; } @end