Neden Matematik yapıyor.döndürür bir double ceil?
Bu biraz bir döngü için beni attı. Math.ceil(5.2)
aradığımda dönüşdouble
6.0
. Benim doğal eğim Math.ceil(double a)
long
geri geleceğini düşünüyorum. Gelen belgeleri:
ceil(double a)
Döner en küçük (negatif sonsuzluk çok yakın)
double
değer bu daha az değişken ve matematiksel eşittir tamsayı.
Ama neden sonuç bir tamsayı olduğunda long
yerine double
bir dönüş? Bu acil bir soru değil, ama bunun arkasındaki nedeni anlamak beni anlamak biraz daha iyi Java yardımcı olabileceğini düşünüyorum. O da bana eğer başıma alırım diye düşünüp*, örneğin *10. döküm yardımcı olabilir
long b = (long)Math.ceil(a);
her zaman ne olması gerektiğini düşünüyor? Sorunlu olan bazı sınır vakası olabilir diye korkuyorum.
CEVAP
double
aralığı long
daha fazla. Örneğin:
double x = Long.MAX_VALUE;
x = x * 1000;
x = Math.ceil(x);
Eğer Math.ceil
long
iade yapmak son satırı ne beklenir ki?
Unutmayın en büyük değerler (pozitif veya negatif) sayıları sonunuzun dağıtılmış çok seyrek - yani bundan sonraki tamsayı büyük tamsayı x
olmayacak x 1
görürseniz ne demek istediğimi.
Neden Matematik yapıyor.Kat(Çift) türü...
Neden Matematik yapıyor.yuvarlak(0.499...
Neden Matematik yapıyor.(2.5) dönüş 2 ...
Neden'in matematik Python.() ceil...
Neden Matematik yapıyor.zemin geri bir...