Komma in een rekenmachine (iOS)

Hallo allemaal,

Ik heb een makkelijke rekenmachine app gemaakt in Xcode, alles werkt!
Alleen wil ik graag een komma button toevoegen, hoe kan ik dat doen?
Hieronder een kleine afbeelding toegevoegd, ik hoop dat ik geholpen kan worden :slight_smile:

Groetjes

Als die “punt” operation alleen maar een “,” moet genereren:

case punt:
display.text = @",";
break;

Dit ziet er uit als de action van de =button. Is het de bedoeling dat de komma of punt net zoiets doet als de plus en de min? Of is het de decimale komma en moet hij net zoiets doen als de cijfers?

Snap het ook niet helemaal. De 4 die je al hebt zijn acties die de rekenmachine met de getallen doet, maar die getallen kunnen al een komma hebben toch?
Of begrijp ik het verkeerd?

Hij werkt met long long integers, dus het gaat hier niet om de decimale komma.

Ik kunt nog geen , invoegen. Ik kan alleen 2 + 2 = 4 doen, en niet 2,5 + 2,5 = 5 doen. Daarvoor moet de komma functioneren.

Waarom gebruik je dan integers?

Gebruik float. Int is voor gehele getallen.

Hoe moet ik het anders doen?

Wat wil je maken? Een rekenmachine die decimale getallen kan gebruiken?
Int is voor gehele getallen, dus 2.5 wordt 2, 377.727 wordt 377 etc.

Maak van ‘long long int’ ‘float’ en dan zou dat moeten kunnen.
Alleen is dit volgens mij het UI gedeelte, zover ben ik nog niet.

De komma hoort dus niet bij de plus en de min maar bij de cijfers en zal op dezelfde manier als de cijfers moeten worden geïmplementeerd. Pas op dat je maximaal 1 komma in een getal kan hebben. Bij de berekeningen doe je in plaats van longLongValue doubleValue maar die werkt met een punt en niet met een komma.
Dus als de 1 zoiets doet:

- (IBAction) button1 { display.text=[NSString stringWithFormat:@"%@1",display.text]; }
dan doet de komma:

- (IBAction) kommabutton { display.text=[NSString stringWithFormat:@"%@.",display.text]; }

En lees dan dit om het programma een komma, punt, of welk teken dan ook te laten gebruiken als scheidingsteken voor decimalen.