cempostaci Mesaj tarihi: Eylül 25, 2013 Paylaş Mesaj tarihi: Eylül 25, 2013 textboxa girileni butona tıklayınca labelda harf olarak yazdırmayı yaptım bi şekilde ama saçmalıyor :) zaten yeniyim dalga geçmeyin her neyse saçmaladığı kısım genelde 36 milyon yazdığımda 30 milyon 6 milyon gibi sonuçlar çıkartıyor. yanlış bir yöntem ile yapmışım muhtemelen gereksiz uzatmışım vs. bana doğru yöntemi yazacak bir babayiğit var mı acaba ? benim kodlarım şöyle çok uzamaması için almadım her yeri int sayi, birler, onlar, yuzler; sayi = Convert.ToInt32(txt1.Text); if (sayi == 0) lbl1.Text = "Sıfır"; birler = sayi % 10; onlar = (sayi / 10) % 10; yuzler = (sayi / 100) % 10; string[] birlik = { "", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz" }; string[] onluk = { "", "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış", "Yetmiş", "Seksen", "Doksan" }; string[] yuzluk = { "", "Yüz", "İki Yüz", "Üç Yüz", "Dört Yüz", "Beş Yüz", "Altı Yüz", "Yedi Yüz", "Sekiz Yüz", "Dokuz Yüz" }; lbl1.Text = yuzluk[yuzler] + " " + onluk[onlar] + " " + birlik[birler]; Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Suark Mesaj tarihi: Eylül 25, 2013 Paylaş Mesaj tarihi: Eylül 25, 2013 şu arraylar yulzuk te bitiyomu yoksa devam ediyo mu binlik yüzbinlik vs diye? bu arada logaritma kullanmak daha ii olmazmıydı? du bakim bi dakka bu arada türkçemi yazdırıyoruz? işler garipleşiyor tr de çünkü Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Gaboo Mesaj tarihi: Eylül 25, 2013 Paylaş Mesaj tarihi: Eylül 25, 2013 milyon vs kısmı nerde Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Suark Mesaj tarihi: Eylül 25, 2013 Paylaş Mesaj tarihi: Eylül 25, 2013 log kullanak türkçe yazdırak 178621 misal türkçe işkilli dil, ona göre ayarlamak lazım. yani konuşurken aslında biz kafada ayırıp birleştirioz ya, öle yaapalım yüz yetmiş sekiz "bin" altı yüz yirmi bir fak bi gireyim dedimde mesai bitiyor. ama basitce log10 kullanıp 6 basamaklığını oldugunu bulup sonra her 3 basamakta bir ( bin bin ayırıyoruz biz çünkü ) okutucan yani 178621 dimi 178621 - 100000 yapıcan bi 78621 kalıcak. /1000 e bölüp inte cast edicen 78 kalıcak onuda 70 ve 8 diye ayırıcan sora bi arrayin olucak, buna yüz,yetmiş,sekiz i atayacan burdan döndürüp. sora 3 basamakta bir ayrdık ya yanına bin koyucan 178bin olcak bu meret. 621 de aynı şekilde ama bin olmıcak hmmm aslıdna evet lan bit 3 lü 3lü yapıyoruz, yani 3 basamaklı bişeyi okutabilirsen, ondan sonraki her 3 basamaka sadece bin,yüzbin,milyon falan ekleterek basitçe devam edebilirsin. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Gaboo Mesaj tarihi: Eylül 25, 2013 Paylaş Mesaj tarihi: Eylül 25, 2013 burdan şeyedebilirsin function yaziylasayi($sayi) { $o = array( 'birlik' => array('bir', 'iki', 'üç', 'dört', 'beş', 'altı', 'yedi', 'sekiz', 'dokuz'), 'onluk' => array('on', 'yirmi', 'otuz', 'kırk', 'elli', 'altmış', 'yetmiş', 'seksen', 'doksan'), 'basamak' => array('yüz', 'bin', 'milyon', 'milyar', 'trilyon', 'katrilyon') ); // Sayıyı basamaklarına ayırıyoruz $basamak = array_reverse(str_split(implode('', array_reverse(str_split($sayi))), 3)); // Basamak sayısını belirliyoruz $basamak_sayisi = count($basamak); // Her basamak için: for ($i=0; $i < $basamak_sayisi; ++$i) { // Sayıyı basamaklarına ayırdığımızda basamaklar tersine döndüğü için burada ufak bir işlem ile basamakları düzeltiyoruz $basamak[$i] = implode(array_reverse(str_split($basamak[$i]))); // Eğer basamak 4, 8, 15, 16, 23, 42 gibi 1 veya 2 rakamlıysa başına 3 rakama tamamlayacak şekilde "0" ekliyoruz ki foreach döngüsünde problem olmasın if (strlen($basamak[$i]) == 1) $basamak[$i] = '00' . $basamak[$i]; elseif (strlen($basamak[$i]) == 2) $basamak[$i] = '0' . $basamak[$i]; } $yenisayi = array(); // Her basamak için: ($yenisayi değişkenine) foreach ($basamak as $k => $b) { // basamağın ilk rakamı 0'dan büyük ise if ($b[0] > 0) // değişkene rakamın harfle yazılışı ve "yüz" ekliyoruz $yenisayi[] = ($b[0] > 1 ? $o['birlik'][$b[0]-1] . ' ' : '') . $o['basamak'][0]; // basamağın 2. rakamı 0'dan büyük ise if ($b[1] > 0) // değişkene rakamın harfle yazılışını ekliyoruz $yenisayi[] = $o['onluk'][$b[1]-1]; // basamağın 3. rakamı 0'dan büyük ise if ($b[2] > 0) // değişkene rakamın harfle yazılışını ekliyoruz $yenisayi[] = $o['birlik'][$b[2]-1]; // değişkene basamağın ismini (bin, milyon, milyar) ekliyoruz if ($basamak_sayisi > 1) $yenisayi[] = $o['basamak'][$basamak_sayisi-1]; // Basamak sayısını azaltıyoruz ki her basamağın sonuna ilkinde ne yazıyorsa o yazılmasın --$basamak_sayisi; } return implode(' ', $yenisayi); } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
cempostaci Mesaj tarihi: Eylül 25, 2013 Konuyu açan Paylaş Mesaj tarihi: Eylül 25, 2013 ben kısalttım milyon kısımlarını koymadım buraya var yoksa hepsi aynı şekilde ya. bakıp deneyeceğim sizin yöntemlerinizi birazdan. şu an başka bir şeyle uğraştığımdan bakamadım kusura bakmayın. teşekkürler ama cevaplarınız için. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mulgear6 Mesaj tarihi: Eylül 27, 2013 Paylaş Mesaj tarihi: Eylül 27, 2013 çözdün mü sorunu bilmiyorum da sayıyı al sondan başlayarak 3erli grupla atıyorum 32 212 432 her bir 3lü grupta yanına yazılan değeri arttırt 432 212 bin 32 milyon şeklinde halledersin Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar