Java da kesirli ifadeleri de ayrı bir gösterim mi var?
Misal
class Kesir {
public static void main(String[] args) {
double d;
d = (2/3);
System.out.println("d = " + d);
}
Sonuç sıfır çıkıyor.
Sonucun 0,6666 çıkması gerekmiyor mu?
d değişkeni double olduğu halde Neden tamsayıya dönüştürüyor?
2 -> int
3 -> int
int / int yine int eder yani 0.
Sabitleri double tipinde yazarsan sorun çözülür (2.0 / 3.0)
Alıntı yapılan: ahmet_matematikci - 15 Mayıs 2016 - 10:47:53
Java da kesirli ifadeleri de ayrı bir gösterim mi var?
Misal
class Kesir {
public static void main(String[] args) {
double d;
d = (2/3);
System.out.println("d = " + d);
}
Sonuç sıfır çıkıyor.
Sonucun 0,6666 çıkması gerekmiyor mu?
d değişkeni double olduğu halde Neden tamsayıya dönüştürüyor?
Amenofis cevaplamış zaten. Bende ufak bir öneride bulunayım. Bölme işlemi için konuşuyorum. Bölme işleminde eğer kesirli sonuçlar elde etmek istiyorsan. İnt değişkenleri hep double yada floata çevir. Eğer gelen değerin int mi float mı olduğunu bilmiyorsan da en sağlıklısı ((double)sayi1/(double)sayi2) gibi kullanmaktır.
Tesekkur ederim. Kolay gelsin.