Javában hogy lehet megoldani, hogy ha kijön eredménynek egy több tizedes hosszúságú szám, azt csak két tizedesig írja ki?
Math.Round függvénynek nézz utána.
Próbáld mondjuk ezt:
Math.round(100 * x) / 100.0
Sajnos még mindig nem az az eredmény, ami kellene.
Itt egy példa:
import java.util.Scanner;
class Teszt {
public static void main(String[] arguments) {
Scanner in = new Scanner(System.in);
System.out.print("nr #1: ");
double nr1=in.nextDouble();
System.out.print("nr #2: ");
double nr2=in.nextDouble();
in.close();
double x = nr1 / nr2;
System.out.println(Math.round(100 * x) / 100.0);
}
}
Vegyünk két számot, pl: #1:2,66 #2:9,55
Ha csak simán x -et iratok ki, az eredmény 0.27853403141361255, míg a Math.rounddal 0,28
Nem nagy különbség, de nekem max 3 tizedesig kéne a pontos eredmény.
Ja hát nyilván így a 27,8-at felkerekíti 28-ra. Mostmár rájöttem, hogy neked csonkolás kell.
Azt pedig pl. így tudod elérni:
x=(long)(x*100)/100.0;
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!