Android hesaplama hatası

Bu konuyu okuyanlar

akyasar

Öğrenci
Katılım
27 Eylül 2012
Mesajlar
3
Reaksiyon puanı
0
Puanları
1
İş yerinde Excel formülleri kullanarak birçok hesaplama yapıyorum. Masa başında da olmadığım zamanlarda bu formüllere ulaşmak için basit android programları yapmaya çalışıyorum. Şöyle bir sorunum var;

Math.pow((2.6/2000),2) bu işlemin sonucu hesap makinesi ve Excel’de 0,00000169 dur.
Android programında ise 1,69E-6 olarak çıkıyor bunun nedeni hakkında bilgisi olan var mı?
 

mirinkirin

Doçent
Katılım
4 Temmuz 2016
Mesajlar
708
Reaksiyon puanı
358
Puanları
63
Merhaba android programınız da aynı sonucu buluyor aslında.
Karakter sayısı aşıldığında vs. sonuç gösterilebilsin diye veya kısaltma olsun diye bazen bu yöntem kullanılır.
E-6 demek (10)^(-6) demektir, eğer 1,69 sayısında 6 basamak sola kayarsanız Excel'de bulduğunuz sonucun aynısını bulursunuz.

Dikkat edilecek nokta aradaki çizginin tire değil eksi işareti olmasıdır. Yâni 3,2E3 demek (3,2)(10^3) demektir.
 

akyasar

Öğrenci
Katılım
27 Eylül 2012
Mesajlar
3
Reaksiyon puanı
0
Puanları
1
Kısmen haklısınız, 6 basamak sol kaysa istediğim sonuç olacak ancak o işlemi yapamadım. Diyeceksin ki 1.000.000 böl olur ama olmuyor. Şöyle ki bu basit işlemi yapmak için Andorid Studio programı ve AVD çalıştırıp programı oraya atmak yerine compilejava.net adresinde şu kodu çalıştırıyorum;

Kod:
public class HelloWorld
{
  public static void main(String[] args)
  {
    Double sonuc = Math.pow((2.6/2000),2);
    System.out.print(sonuc.toString());
  }
}

bana aynı sonucu veriyor. Bölme işleminin sonucu da 1.6899999999999999E-12. Bu ara işlem bunda çıkan sonuç ile daha birçok işlem yapacağım, yapmaya çalıştığım programın Excel görüntüsü şu
D3k7DO.png
 
Üst