Girdiğiniz sayılarla birlikte hatalı ve düzgün çalıştığı durumların fotoğrafını mesajımı alıntılayarak konuya ekleyin lütfen.
Zannediyorum ki java'da double'a parse ederken illa sayıda bir virgül olması gerek fakat ben virgülsüzde işlem yapabilmesini istiyorum diyorsan textviewlerde virgül olup olmadığını kontrol ettir eğer virgül yok ise sonuna ".0" ekleterek işlemi gerçekleştir.
örnek :
double b = 0.0;
double a = 0.0;
if(sayac1 == 0)
{
b = Double.parseDouble(txtiki.getText().toString() + ".0")
}
if (sayac == 0)
{
a = Double.parseDouble(txtgiris.getText().toString() + ".0")
}
En sonda aldığın C değeri Double, onu convert etmeden yazdırıyorsun sorun orda;
double c = 44;
String textwiev = Double.toString(c);
gibi dönüşüm yapmalısın.
Öncelikle hepinize vakit ayırıp cevap verdiğiniz için teşekkür ederim.
Size biraz daha açıklayıcı olabilmek adına aslında kendimi geliştirmek adına hesap makinesi yapıyorum. İstediğim şeyde şu iki tane textview var eğer bu textview lerden birinde virgüllü sayı var isi ikisinide double olarak görüp işlem yapması. Eğer iki textview 'da da virgülsüz sayı yok ise bu seferde long olarak görüp kullanıcıya normal bir sonuç getirmesi. Çünkü kimse5 ile 2 yi topladığında sonucu 7.0 olarak görmek istemez. 5 ile 2,5 toplandığında ise 7.5 olarak virgül koyulabilmesi için kodun en üst kısmında for ile textview ların kontrolünü sağlattım ve eğer her ikisinden birinde virgüllü sayı var ise double olarak işlem yapmasını virgüllü sayı yoksa her ikisinde de long olarak işlem yapmasını sağlattım. Şimdi android stduio 'da log kayıtlarına baktığımda ise aşağıda vermiş olduğum linkte kodları paylaştım. Toplama işlemi yaptım mesela birinci textview 'e 5 ikincisine 3,5 girdim ve program kapandı log kayıtlarında ise size aşağıda vermiş olduğum linkte ki 48 inci satır hatalı gösterdi.
sayac 0 'lı if bloğunu yorum satırı içine aldım ve çalışmamasını sağlayıp bu sefer tekrar 6 ile 2.8 i toplattım bu sefer çalıştı ve bana sonucu 8.8 olarak döndürdü.
Eşittir butonun kodları :
https://ideone.com/K7YLnJ