Text kutusuna sayı olarak girilen değerin yazı ile karşılığını yazdırma örneği;
Örnek kodumuzun çalışması şu şekildedir. 125 değerini text kutusuna girdiğimizi varsayalım. Div etiketi içine YüzYirmiBeş yazacaktır.
Örneğimiz için gerekli olan HTML kodları
1 2 3 4 5 6 7 8 9 10 11 |
<div class="kutu"> <input type="number" id="sayi" placeholder="Sayı Giriniz"> <div id="goster"> </div> </div> |
Örneğimizin CSS kodları
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<style> body { width: 80%; max-width: 1200px; margin: 40px auto; font: normal 14px/1.5 "Montserrat", "Helvetica Neue", sans-serif; background: #cfd8dc; color: #37474f; } .kutu{ background: whitesmoke; margin: 0 0 40px; box-shadow: 0px 2px 4px rgba(0,0,0,0.2); width:50%; } #sayi{ width: 90%; padding:10px 5%; border:none; outline: none; margin-bottom:10px; } #goster{ text-align: center; font-size: 1.5em; } </style> |
Örneğin JavaScript Kodları 🙂
Not: Script içi olay kullandığım için script kodlarını yazarken body kapatma etiketinin hemen üzerin koymayı unutmayın. aksi durumda sayı etiketi tanınmayacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
<script> /*not script dosyasını body kapatma etikeninin hemen üzerine yazınız.*/ var sayi= document.getElementById("sayi"); // input kutusunu //sayı kutusunda tuşa basıldığında sayi.onkeyup=function(){ var goster=document.getElementById("goster");//div etiketi var islem=new SayiDonustur(this.value); goster.innerHTML=islem.sonuc; } /*sayı gösterme işlemini yapacak sınıf*/ function SayiDonustur(sayi){ sayi=String(sayi); this.sonuc; let bolum1 = ["", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz"]; let bolum2 = ["", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan"]; let bolum3 = ["", "yüz", "bin", "milyon", "milyar", "trilyon", "katrilyon"]; let sayi1; //tam kısım let sayi2 = ""; // ondalıklı kısım let sonuc = ""; sayi = sayi.replace(",", "."); //virgül girilirse noktaya dönüştürülüyor if (sayi.indexOf(".") > 0) { // nokta varsa (kuruş) sayi1 = sayi.substring(0, sayi.indexOf(".")); // tam kısım sayi2 = sayi.substring(sayi.indexOf("."), sayi.length); // ondalıklı kısım } else { sayi1 = sayi; // ondalık yok } var rk = sayi1.split(""); // rakamlara ayırma let son; let w = 1; // işlenen basamak var sonaekle = 0; // binler on binler yüzbinler vs. için sona bin (milyon,trilyon...) eklenecek mi? let kac = rk.length; // kaç rakam var? let sonint; // işlenen basamağın rakamsal değeri let uclubasamak = 0; // hangi basamakta (birler onlar yüzler gibi) let artan = 0; // binler milyonlar milyarlar gibi artışları yapar let gecici; if (kac > 0) { // virgül öncesinde rakam var mı? for (i = 0; i < kac; i++) { son = rk[kac - 1 - i]; // son karakterden başlayarak çözümleme yapılır. sonint = parseInt(son); // işlenen rakam if (w == 1) { // birinci basamak bulunuyor sonuc = bolum1[sonint] + sonuc; } else if (w == 2) { // ikinci basamak sonuc = bolum2[sonint] + sonuc; } else if (w == 3) { // 3. basamak if (sonint == 1) { sonuc = bolum3[1] + sonuc; } else if (sonint > 1) { sonuc = bolum1[sonint] + bolum3[1] + sonuc; } uclubasamak++; } if (w > 3) { // 3. basamaktan sonraki işlemler if (uclubasamak == 1) { if (sonint > 0) { sonuc = bolum1[sonint] + bolum3[2 + artan] + sonuc; if (artan == 0) { // birbin yazmasını engelle if(kac-1==i) { // sonuc = sonuc.replace(bolum1[1] + bolum3[2], bolum3[2]); } } sonaekle = 1; // sona bin eklendi } else { sonaekle = 0; } uclubasamak++; } else if (uclubasamak == 2) { if (sonint > 0) { if (sonaekle > 0) { sonuc = b2[sonint] + sonuc; sonaekle++; } else { sonuc = b2[sonint] + b3[2 + artan] + sonuc; sonaekle++; } } uclubasamak++; } else if (uclubasamak == 3) { if (sonint > 0) { if (sonint == 1) { gecici = b3[1]; } else { gecici = b1[sonint] + b3[1]; } if (sonaekle == 0) { gecici = gecici + b3[2 + artan]; } sonuc = gecici + sonuc; } uclubasamak = 1; artan++; } } w++; // işlenen basamak } } this.sonuc=sonuc; } </script> |
merhaba,
php ile toplama işlemi yapıp sonuç gösteren bir kod için projenizi kullanmak istedim fakat çalışmadı
“Sayı Giriniz” bölümüne php kodlarını ekledim rakamlar kutuda görüncü fakat script algılamadı bir çözümü varmıdır.
kullandığım kodlar; https://controlc.com/c5f955fc
teşekkürler
iyi çalışmalar
. veya , koysam da kuruş çalışmıyor. Yardım eder misin ?
teşekkürler. ufak bir fix önerisi. istisna olarak 1001001 > birmilyonbirbinbir diye okuyor. normalde birbin diye okumuyoruz.
Dediğiniz gibi, kodu yazarken gözümden kaçmış. İlk fırsatta düzelteceğim.