All pastes #2108841 Raw Edit

Something

public text v1 · immutable
#2108841 ·published 2012-02-01 20:40 UTC
rendered paste body
using System;
using System.Collections.Generic;
using System.Text;

namespace SayiYazi
{
    public class SayiOku
    {
        private string[] yuzler = new string[10];
        private string[] onlar = new string[10];
        private string[] birler = new string[10];
        private string[] hane = new string[5];
        private string[] rakam = new string[5];
        // arraylarý tanýmlýyoruz

        public void SayiOkuma()
        {

            // içlerini dolduruyoruz

            yuzler.SetValue(" Dokuz Yüz", 9);
            yuzler.SetValue(" Sekiz Yüz", 8);
            yuzler.SetValue(" Yedi Yüz", 7);
            yuzler.SetValue(" Altı Yüz", 6);
            yuzler.SetValue(" Beş Yüz", 5);
            yuzler.SetValue(" Dört Yüz", 4);
            yuzler.SetValue(" Üç Yüz", 3);
            yuzler.SetValue(" İki Yüz", 2);
            yuzler.SetValue(" Yüz", 1);
            yuzler.SetValue("", 0);

            onlar.SetValue(" Doksan", 9);
            onlar.SetValue(" Seksen", 8);
            onlar.SetValue(" Yetmiş", 7);
            onlar.SetValue(" Altmış", 6);
            onlar.SetValue(" Elli", 5);
            onlar.SetValue(" Kırk", 4);
            onlar.SetValue(" Otuz", 3);
            onlar.SetValue(" Yirmi", 2);
            onlar.SetValue(" On", 1);
            onlar.SetValue("", 0);

            birler.SetValue(" Dokuz ", 9);
            birler.SetValue(" Sekiz ", 8);
            birler.SetValue(" Yedi ", 7);
            birler.SetValue(" Altı ", 6);
            birler.SetValue(" Beş ", 5);
            birler.SetValue(" Dört ", 4);
            birler.SetValue(" Üç ", 3);
            birler.SetValue(" İki ", 2);
            birler.SetValue(" Bir ", 1);
            birler.SetValue("", 0);

            hane.SetValue("", 0);
            hane.SetValue("", 1);
            hane.SetValue("", 2);
            hane.SetValue("", 3);
            hane.SetValue("", 4);
            /*  ilk olarak bu arrayýn elemanlarýný boþ olarak ayarlýyoruz eðer küme elemanlarý 
            000 deðilse trilyon,milyar,milyon bin deðerleri ile dolduruyoruz
            */
        }



        public string oku(string sayi)
        {

            int uzunluk = sayi.Length;
            if (uzunluk > 15)
                return "Hata girilen değerin uzunluğu en fazla 15 olmalı";
            // uzunluk 15 karakterden fazla olmamalý. si

            try
            {

                long k = Convert.ToInt64(sayi);
            }

            catch (Exception ex)
            {
                return ex.Message.ToString();
            }

            sayi = "000000000000000" + sayi;
            sayi = sayi.Substring(uzunluk, 15);

            rakam.SetValue(sayi.Substring(0, 3), 0);
            rakam.SetValue(sayi.Substring(3, 3), 1);
            rakam.SetValue(sayi.Substring(6, 3), 2);
            rakam.SetValue(sayi.Substring(9, 3), 3);
            rakam.SetValue(sayi.Substring(12, 3), 4);

            if (rakam[0].ToString() != "000")
                hane.SetValue("Trilyon ", 0);
            if (rakam[1].ToString() != "000")
                hane.SetValue("Milyar ", 1);
            if (rakam[2].ToString() != "000")
                hane.SetValue("Milyon ", 2);
            if (rakam[3].ToString() != "000")
                hane.SetValue("Bin ", 3);

            string sonuc = "";

            for (int i = 0; i < 5; i++)
            {
                sonuc = sonuc + yuzler[Convert.ToInt16(rakam[i][0].ToString())] +
                birsorunu(onlar[Convert.ToInt16(rakam[i][1].ToString())] + birler[Convert.ToInt16(rakam[i][2].ToString())] + hane[i]);
            }

            return sonuc;

        }


        private string birsorunu(string sorun)
        {

            string cozum = "";
            if (sorun == " Bir Bin ")
                cozum = "Bin ";

            else
                cozum = sorun;

            return cozum;

        }
    }
}