• 06-12-2018, 06:12:11
    #1
    Öncelikle herkese merhaba. Şimdiden kodlara göz gezdirecek abilerime, kardeşlerime teşekkür ederim. Kodun çalışmadığı kısma gelecek olur isek;

    Öncelikle iki adet textview var. Buralara kullanıcıdan sayı alıyorum. Daha sonrasında ise iki textview içinde ki sayıları toplatmaya kalkıyorum. Fakat her iki textviewde olan sayılar virgülsüz bir şekilde girilirse toplama yapıyor. Eğer bir textview 'de ki virgüllü diğeri virgülsüz olsa programdan atıyor. Yada her iki textview de ki sayılarında virgüllü olması gerekiyor. Nerede hata yapmışım acaba yardım ederseniz sevinirim.



  • 06-12-2018, 18:17:44
    #2
    efsungokmen adlı üyeden alıntı: mesajı görüntüle
    Öncelikle herkese merhaba. Şimdiden kodlara göz gezdirecek abilerime, kardeşlerime teşekkür ederim. Kodun çalışmadığı kısma gelecek olur isek;

    Öncelikle iki adet textview var. Buralara kullanıcıdan sayı alıyorum. Daha sonrasında ise iki textview içinde ki sayıları toplatmaya kalkıyorum. Fakat her iki textviewde olan sayılar virgülsüz bir şekilde girilirse toplama yapıyor. Eğer bir textview 'de ki virgüllü diğeri virgülsüz olsa programdan atıyor. Yada her iki textview de ki sayılarında virgüllü olması gerekiyor. Nerede hata yapmışım acaba yardım ederseniz sevinirim.



    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.
  • 06-12-2018, 18:21:34
    #3
    efsungokmen adlı üyeden alıntı: mesajı görüntüle
    Öncelikle herkese merhaba. Şimdiden kodlara göz gezdirecek abilerime, kardeşlerime teşekkür ederim. Kodun çalışmadığı kısma gelecek olur isek;

    Öncelikle iki adet textview var. Buralara kullanıcıdan sayı alıyorum. Daha sonrasında ise iki textview içinde ki sayıları toplatmaya kalkıyorum. Fakat her iki textviewde olan sayılar virgülsüz bir şekilde girilirse toplama yapıyor. Eğer bir textview 'de ki virgüllü diğeri virgülsüz olsa programdan atıyor. Yada her iki textview de ki sayılarında virgüllü olması gerekiyor. Nerede hata yapmışım acaba yardım ederseniz sevinirim.



    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")
    }
  • 06-12-2018, 18:28:14
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    efsungokmen adlı üyeden alıntı: mesajı görüntüle
    Öncelikle herkese merhaba. Şimdiden kodlara göz gezdirecek abilerime, kardeşlerime teşekkür ederim. Kodun çalışmadığı kısma gelecek olur isek;

    Öncelikle iki adet textview var. Buralara kullanıcıdan sayı alıyorum. Daha sonrasında ise iki textview içinde ki sayıları toplatmaya kalkıyorum. Fakat her iki textviewde olan sayılar virgülsüz bir şekilde girilirse toplama yapıyor. Eğer bir textview 'de ki virgüllü diğeri virgülsüz olsa programdan atıyor. Yada her iki textview de ki sayılarında virgüllü olması gerekiyor. Nerede hata yapmışım acaba yardım ederseniz sevinirim.



    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.
  • 06-12-2018, 18:46:53
    #5
    oguzhane adlı üyeden alıntı: mesajı görüntüle
    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")
    }
    Yanlış bilgi.
    Double'a parse ederken öyle bir şart yok. Yani "5"'i double'a parse edersen sorunsuz olarak 5.0 yapar.

    mobileclick adlı üyeden alıntı: mesajı görüntüle
    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.
    Yanlış bilgi. Zaten String.valueOf ile dönüşüm yapmış.
  • 06-12-2018, 19:03:19
    #6
    maviuan adlı üyeden alıntı: mesajı görüntüle
    Yanlış bilgi.
    Double'a parse ederken öyle bir şart yok. Yani "5"'i double'a parse edersen sorunsuz olarak 5.0 yapar.



    Yanlış bilgi. Zaten String.valueOf ile dönüşüm yapmış.
    doğru veya yanlış fakat arkadaşın istediği çözümü sağlayacağına inanıyorum.
  • 07-12-2018, 01:44:00
    #7
    maviuan adlı üyeden alıntı: mesajı görüntüle
    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.
    oguzhane adlı üyeden alıntı: mesajı görüntüle
    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")
    }
    mobileclick adlı üyeden alıntı: mesajı görüntüle
    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
  • 07-12-2018, 04:15:07
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    efsungokmen adlı üyeden alıntı: mesajı görüntüle
    Ö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
    bir sayı tam sayı ise virgülsüz, değilse virgüllü olmasını göstermenin en pratik yolu dönüşümlerden geçer


    kodda yapılan mantık oldukta basit.
    2 tane sayıyı float (veya double fark etmez) cinsine çevirtip bir sayıya aktarılıyor.
    ardından bu iki sayı toplanıp integere çeviliyor (örnekte 9.2 sayısı 9'a çevrilmiş)
    ardından bu integer olan 9 sayımızı tekrar floata çevirtiyoruz.


    en son aşamada elimizde iki adet float sayı var. biri virgüllerinden arınmış olan 9.0 sayısı var, diğeri ise 9.2 yi gösteriyor.

    9.0 ile 9.2 nin arasındaki eşitliğe bakıyoruz ve diyebiliyoruz ki bunlar eşit değil. yani aslında bu sayı bir virgüllü sayı.
    textbox'a sonuç yazdırırken sonucunun bulunduğu float değişkenini stringe dönüştürüp texte aktar
    ya da iki sayı eşit olduğunda integerdan gelen sayıyı stringe çevir ve texte aktar.

    bunun daha kısayol bir çözümü var mı bilmiyorum. eğer bilen biri varsa beni aydınlatsın
  • 07-12-2018, 08:26:38
    #9
    efsungokmen adlı üyeden alıntı: mesajı görüntüle
    Ö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
    Neyse sorduğum soruya istediğim cevabı bile vermemişsiniz. Altı üstü bir ekran görüntüsü istedim. İyi çalışmalar size.