2010-11-19 15 views
0

Bir Double değişkeninde durum denetiminden ne kadar az veya eşittir.İki değişken koşulu, eşit ya da eşit olarak kontrol ediyor mu?

Önce iki değişkeni var, ikinci.

Double first = 20.0; 
Double second = 20.0; 
if(first <= second){ 
    //This is not going inside the if part 
} 
+2

Kullandığınız tam kod mu, yoksa ara hesaplamalar içeriyor mu? –

+1

Oldukça iyi görünüyor. Sorun nerede? –

cevap

0

Durumun bu olduğundan emin değilsiniz, ancak kayan noktaların hiçbir zaman tam olarak bellekte temsil edilmez. Yine de, iki değer birbirine çok yakın olsa da, ilk olarak saniyeden biraz daha büyük olabilir ve bu durumun koşulunun yanlış olmasına neden olabilir.

+1

Onlar * bellekte tam olarak gösterilir * tam değer, orijinal verilere yaklaşık bir değer olabilir. Örneğin, çift d = 0,1; 'de gösterilen sayı tam bir değerdir - ancak tam olarak 0.1 değildir. –

İlgili konular