Asp.Net sayıyı yazıya dönüştüren programı yapabilmek için ilk olarak form üzerine iki label ,bir textbox ve buton yerleştirerek aşağıdaki görüntüyü oluşturuyoruz, Programımız Girilecek herhangi bir dört basamaklı tamsayının Türkçe okunuşunu verecek (Örneğin 1453 için “Bin Dörtyüz Elli Üç” gibi.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="listboxdortislem.WebForm4" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="Sayı"></asp:Label> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br /> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Oku" /> <br /> <asp:Label ID="Label2" runat="server" Text="Sayının Okunuşu"></asp:Label> </div> </form> </body> </html>
Kullanıcı butona basdıktan sonra girilen sayıyı sırayla 1000 100 10 bölüyoruz tam sayı olan bölüm kısmına göre switch case karşılaştırması ile sonucu ekranda yazdırıyoruz
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace listboxdortislem { public partial class WebForm4 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { int sayi; sayi = Convert.ToInt32(TextBox1.Text); switch (sayi / 1000) { case 9: Label2.Text = Label2.Text + "Dokuzbin"; break; case 8: Label2.Text = Label2.Text + "Sekizbin "; break; case 7: Label2.Text = Label2.Text + "Yedibin "; break; case 6: Label2.Text = Label2.Text + "Altıbin "; break; case 5: Label2.Text = Label2.Text + "Beşbin"; break; case 4: Label2.Text = Label2.Text + "Dörtbin "; break; case 3: Label2.Text = Label2.Text + "Üçbin "; break; case 2: Label2.Text = Label2.Text + "İkibin "; break; case 1: Label2.Text = Label2.Text + "Bin "; break; } switch (sayi % 1000 / 100) { case 9: Label2.Text = Label2.Text + "Dokuzyüz "; break; case 8: Label2.Text = Label2.Text + "Sekizyüz "; break; case 7: Label2.Text = Label2.Text + "Yediyüz "; break; case 6: Label2.Text = Label2.Text + "Altıyüz "; break; case 5: Label2.Text = Label2.Text + "Beşyüz "; break; case 4: Label2.Text = Label2.Text + "Dörtyüz "; break; case 3: Label2.Text = Label2.Text + "Üçyüz "; break; case 2: Label2.Text = Label2.Text + "İkiyüz "; break; case 1: Label2.Text = Label2.Text + "Yüz "; break; } switch ((sayi % 100) / 10) { case 9: Label2.Text = Label2.Text + "Doksan "; break; case 8: Label2.Text = Label2.Text + "Seksen "; break; case 7: Label2.Text = Label2.Text + "Yetmiş "; break; case 6: Label2.Text = Label2.Text + "Altmış "; break; case 5: Label2.Text = Label2.Text + "Elli "; break; case 4: Label2.Text = Label2.Text + "Kırk "; break; case 3: Label2.Text = Label2.Text + "Otuz "; break; case 2: Label2.Text = Label2.Text + "Yirmi "; break; case 1: Label2.Text = Label2.Text + "On "; break; } switch ((sayi % 10)) { case 9: Label2.Text = Label2.Text + "Dokuz "; break; case 8: Label2.Text = Label2.Text + "Sekiz "; break; case 7: Label2.Text = Label2.Text + "Yedi "; break; case 6: Label2.Text = Label2.Text + "Altı "; break; case 5: Label2.Text = Label2.Text + "Beş "; break; case 4: Label2.Text = Label2.Text + "Dört "; break; case 3: Label2.Text = Label2.Text + "Üç "; break; case 2: Label2.Text = Label2.Text + "İki "; break; case 1: Label2.Text = Label2.Text + "Bir "; break; } if (sayi == 0) Label2.Text = "Sıfır"; } } }
calışmıyor hata var diyor ama çözemiyorum
sayi = Convert.ToInt32(TextBox1.Text);
textbox’a sayı girip tekrar denersen çalışacaktır, textbox boş ulduğu için veriyordur hatayı