Jak zaokrąglić liczbę do najbliższej dziesiątki bez instrukcji if? Na przykład 98 do 100.Jak zaokrąglić do najbliższej dziesiątki?
int num = 87;
double t;
double d = 1.0 * num; // d = 87.0
t = d/100;
System.out.println(t);
Jak zaokrąglić liczbę do najbliższej dziesiątki bez instrukcji if? Na przykład 98 do 100.Jak zaokrąglić do najbliższej dziesiątki?
int num = 87;
double t;
double d = 1.0 * num; // d = 87.0
t = d/100;
System.out.println(t);
Można użyć Math.round(num/10.0) * 10
.
answer = ((num+5)/10)*10; // if num is int
gdzie num
jest int
i mieć więcej pojęcia, przeczytaj ten quesiton. How to round a number to n decimal places in Java.
Edit:
jeśli num
jest double
dodać rzutowania typów ekspresji (long)((num+5)/10)
jak sugeruje @PeterLawrey
Jesteś pewien? Jeśli "num" wynosi 14.0, to oceni się na 20. – Bathsheba
Mogę mieć starsze momenty, ale kiedy ostatni raz sprawdzałem, (14,0 + 5)/10 jest 1,9, który staje się 2,0 na zaokrągleniu. Pamiętaj, że 'Math.round' implementuje niemieckie zaokrąglenie. – Bathsheba
Odrzucanie int do int jest zbędne, gorsze, jeśli jest już długie. –
jeśli podzielić przez 10d lub 10.0, num może być dowolny (prymitywne) numer. –
Prawda, edytowane. @Peter – Zarwan