Afronden

Status
Niet open voor verdere reacties.

DonMarino

Nieuwe gebruiker
Lid geworden
26 okt 2006
Berichten
2
Hallo allemaal!

Even een vraag je voor jullie!
Als ik een berekingen heb waarmee ik een variabele wil berekenen dmv een andere variabele.. dus L = 300 / Z bijv..Hoe zou ik er dan voor kunnen zorgen dat die waarde van L voor welke waarde ik Z ook kies altijd een geheel getal is?
Alvast bedankt als jullie me kunnen helpen
 
Als beide getallen van het type int zijn, een geheel getal dus, is het resultaat automatisch ook een geheel getal. Anders zul je gaan moeten afronden.
 
Als beide getallen van het type int zijn, een geheel getal dus, is het resultaat automatisch ook een geheel getal. Anders zul je gaan moeten afronden.

Ja zo heet het kopje ook, afronden, ik wil dus de waarde van L altijd zo afronden dat dat een geheel getal wordt, in het geval dat ik al aan gaf L = 300 / Z, en ik kies voor Z bijv 23 dan komt er een getal voor Z uit met boel cijfers na de komma en dat wil ik dus niet hebben.. ik wil deze waarde afronden en dus dat was mijn vraag, hoe doe je dat dan in een code?
 
Als je de uitkomst als het type Integer codeert, krijg je altijd een afgerond getal :)

Doubles/floats zijn met niet afgeronde getallen


Edit: of je gebruikt de Math.round functie ;)
 
Laatst bewerkt:
Ja, inderdaad. Dus stel je hebt een int a = 300 en int z = 23, dan is l = a / z = 13. Zo kun je ook de rest van een integer deling uitrekenen met modulo: a % z = 1.

Als z echter geen int, maar een float of double is, dan moet je dus wél afronden. Dit kan inderdaad met functies uit de Math class zoals Math.round, zoals aaajeetee al aangaf.
 
Ja, inderdaad. Dus stel je hebt een int a = 300 en int z = 23, dan is l = a / z = 13. Zo kun je ook de rest van een integer deling uitrekenen met modulo: a % z = 1.

Als z echter geen int, maar een float of double is, dan moet je dus wél afronden. Dit kan inderdaad met functies uit de Math class zoals Math.round, zoals aaajeetee al aangaf.

Ik zou gewoon zoiets doen:
L = 300; (int of float maakt niet uit)
Z = 13; (int of float maakt ook niet uit)
Integer resultaat = L / Z; (hier maakt het wel uit, hier Integer kiezen).

Nu moet de TS het toch kunnen fixen lijkt mij... :D
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan