Java Rond een nummer

Ik kan het antwoord niet vinden dat ik op zoek ben naar een simpele vraag: hoe rom ik elk nummer op naar de dichtstbijzijnde int?

Bijvoorbeeld, telkens wanneer het nummer 0,2, 0.7, 0.2222, 0.4324, 0.99999, zou ik willen dat de uitkomst 1 is.

Tot nu toe heb ik

int b = (int) Math.ceil(a / 100);

Het lijkt echter niet het werk te doen.


Antwoord 1, Autoriteit 100%

Math.ceil()is de juiste functie om te bellen. Ik vermoedend ais een int, die a / 100zou maken>geheel getal rekenkundig uitvoeren. Probeer Math.ceil(a / 100.0)in plaats daarvan.

int a = 142;
System.out.println(a / 100);
System.out.println(Math.ceil(a / 100));
System.out.println(a / 100.0);
System.out.println(Math.ceil(a / 100.0));
System.out.println((int) Math.ceil(a / 100.0));

Uitgangen:

1
1.0
1.42
2.0
2

Zie http://ideone.com/yht0l


Antwoord 2, Autoriteit 6%

Ik weet niet waarom je met 100 scheidt, maar hier mijn veronderstelling int a;

int b = (int) Math.ceil( ((double)a) / 100);

of

int b = (int) Math.ceil( a / 100.0);

Antwoord 3, Autoriteit 4%

int RoundedUp = (int) Math.ceil(RandomReal);

Dit leek de perfecte baan te doen. Gewerkt elke keer.


Antwoord 4, Autoriteit 2%

10 jaar later, maar dat probleem heeft me nog steeds betrapt.

Dus dit is het antwoord op degenen die te laat zijn als ik.

Dit werkt niet

int b = (int) Math.ceil(a / 100);

Oorzaak Het resultaat a / 100blijkt een geheel getal te zijn en het is afgerond, dus wiskunde
kan er niets aan doen.

U moet de afgeronde werking met deze

vermijden

int b = (int) Math.ceil((float) a / 100);

Nu werkt het.


Antwoord 5

De eenvoudigste manier om dit te doen is alleen:
U ontvangt een float of een dubbele en wilt u deze naar het dichtstbijzijnde ronde omzetten, dan doen het gewoon System.out.println((int)Math.ceil(yourfloat));
het zal perfect werken


Antwoord 6

Aangenomen van een als dubbele en we hebben een afgerond nummer nodig met geen decimale plaats. Gebruik Math.Round () -functie.
Dit geldt als mijn oplossing.

double a = 0.99999;
int rounded_a = (int)Math.round(a);
System.out.println("a:"+rounded_a );
Output : 
a:1

Other episodes