döndüren bir örnek: olması gerektiği gibiÇift değer Burada 0
Double d = (1/3);
System.out.println(d);
Bu ... 0, değil 0,33333 döndürür.
Kimse biliyor mu? Aksi yönde talimat olmadığında 1
ve 3
, integers
olarak kabul edilir çünkü bu
döndüren bir örnek: olması gerektiği gibiÇift değer Burada 0
Double d = (1/3);
System.out.println(d);
Bu ... 0, değil 0,33333 döndürür.
Kimse biliyor mu? Aksi yönde talimat olmadığında 1
ve 3
, integers
olarak kabul edilir çünkü bu
yüzden 1/3
sonra double
0
artığını integer
0
olarak değerlendirilir. Bunu düzeltmek için, çift değerlerle uğraştığınızı açıkça belirtmek üzere (1.0/3)
veya belki 1D/3
'u deneyin.
Eğer kayan nokta bölme kullanarak bölmek isteyen int
s varsa, int
double
bir yayın yapmak için gerekecek: Aslında
double d = (double)intValue1/(double)intValue2
(sadece intValue2
döküm olması için yeterli olmalı intValue1
inanıyorum otomatik double
için döküm yapılacak.)
kullanın çift değil çift bu valu kullanmak gerekir sürece nesne anlamında. kavramları hakkında bilgi edinin
'u işaretlemeden önceki tarihlere bakın. OP, Java'nın kesme yöntemleri hakkında soruyordu ve bir ikilide saklansa bile, tamsayıların bölünmesinin neden kesildiğini soruyordu; Otomatik kutulama hakkında değil. – MathSquared
[Java'da Bölme her zaman sıfır (0) ile sonuçlanır?] (Http://stackoverflow.com/questions/10455677/division-in-java-always-results-in- sıfır-0) –
@ ΦXocę 웃 Пepeúpa ツ Bu bir kopya değil. Bu soru, bu sorunun bir kopyasıdır. – Zoe