20 Kasım 2013 Çarşamba

Sayıyı yazıya dönüştürme.

        var SayiYazdirma = function(yazdirilacakSayi){
            this.desteklenebilecekSayiBasamagi = 4;
            this.yazdirilacakSayi = parseInt(yazdirilacakSayi);
            this.sayininRakamlari = new Array();
            this.mevcutSayiBasamakSayisi = 0;
            this.enBuyukBolen = 0;
            this.sayininYaziHali = '';
            this.sayiSistemiHesapla = function(){
                if(this.desteklenebilecekSayiBasamagi == 1 || this.yazdirilacakSayi<10){
                    this.enBuyukBolen = 1;
                    this.mevcutSayiBasamakSayisi = 1;
                    return;
                }
                var bolen = 1;
                for(var i=0;i<this.desteklenebilecekSayiBasamagi;i++){
                    bolen *= 10;
                    if(Math.floor(this.yazdirilacakSayi)/bolen<10){
                        this.enBuyukBolen = bolen;
                        this.mevcutSayiBasamakSayisi = i+2;
                        return;
                    }
                }
                this.enBuyukBolen = bolen/10;
                this.mevcutSayiBasamakSayisi =  this.desteklenebilecekSayiBasamagi;
            };
            this.sayiSistemiHesapla();
            this.rakamlarinaAyir = function(){
                if(this.mevcutSayiBasamakSayisi == 1){
                    this.sayininRakamlari[0] = yazdirilacakSayi;
                }
                var bolen = this.enBuyukBolen;
                var sayiTemp = this.yazdirilacakSayi;
                for(var i=0;i<this.mevcutSayiBasamakSayisi;i++){
                    if(i==this.mevcutSayiBasamakSayisi-1){
                        this.sayininRakamlari[i] = sayiTemp;
                        break;
                    }
                    this.sayininRakamlari[i] = Math.floor(sayiTemp/bolen);
                    if(this.sayininRakamlari[i]!=0){
                        sayiTemp = sayiTemp - (this.sayininRakamlari[i]* bolen);
                    }
                    bolen = bolen/10;
                }
            };
            this.rakamlarinaAyir();

            this.rakamBasamakYaziKarsiligi = function(rakam,rakamIndexi){

                var deger = '';
                switch (rakam) {
                    case 1:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "bir";
                                break;
                            case 2:
                                deger = "on"
                                break;
                            case 3:
                                deger = "yuz"
                                break;
                            case 4:
                                deger = "bin"
                                break;
                        }
                        break;
                    case 2:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "iki";
                                break;
                            case 2:
                                deger = "yirmi"
                                break;
                            case 3:
                                deger = "ikiyüz"
                                break;
                            case 4:
                                deger = "ikibin"
                                break;
                        }
                        break;
                    case 3:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "üç";
                                break;
                            case 2:
                                deger = "otuz"
                                break;
                            case 3:
                                deger = "üçyüz"
                                break;
                            case 4:
                                deger = "üçbin"
                                break;
                        }
                        break;
                    case 4:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "dört";
                                break;
                            case 2:
                                deger = "kırk"
                                break;
                            case 3:
                                deger = "dörtyüz"
                                break;
                            case 4:
                                deger = "dörtbin"
                                break;
                        }
                        break;
                    case 5:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "beş";
                                break;
                            case 2:
                                deger = "elli"
                                break;
                            case 3:
                                deger = "beşyüz"
                                break;
                            case 4:
                                deger = "beşbin"
                                break;
                        }
                        break;
                    case 6:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "altı";
                                break;
                            case 2:
                                deger = "altmış"
                                break;
                            case 3:
                                deger = "altıyüz"
                                break;
                            case 4:
                                deger = "altıbin"
                                break;
                        }
                        break;
                    case 7:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "yedi";
                                break;
                            case 2:
                                deger = "yetmiş"
                                break;
                            case 3:
                                deger = "yediyüz"
                                break;
                            case 4:
                                deger = "yedibin"
                                break;
                        }
                        break;
                    case 8:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "sekiz";
                                break;
                            case 2:
                                deger = "seksen"
                                break;
                            case 3:
                                deger = "sekizyüz"
                                break;
                            case 4:
                                deger = "sekizbin"
                                break;
                        }
                        break;
                    case 9:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "dokuz";
                                break;
                            case 2:
                                deger = "doksan"
                                break;
                            case 3:
                                deger = "dokuzyüz"
                                break;
                            case 4:
                                deger = "dokuzbin"
                                break;
                        }
                        break;
                    case 0:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "sıfır";
                                break;
                            case 2:
                                deger = ""
                                break;
                            case 3:
                                deger = ""
                                break;
                            case 4:
                                deger = ""
                                break;
                        }
                        break;
                }
                return deger;
            }

            this.sayiyiYaziyaDonustur = function(){
                var deger = '';
                for(var j= 1,i=this.mevcutSayiBasamakSayisi-1;i>=0;i--,j++){
                    deger = this.rakamBasamakYaziKarsiligi(this.sayininRakamlari[i],j) + ' ' + deger;
                }
                this.sayininYaziHali = deger;
                return deger;
            }
        }

var sayiYazdirmaNesnesi = new SayiYazdirma(95214); window.alert(sayiYazdirmaNesnesi.sayiyiYaziyaDonustur());


http://www.daltinkurt.com/Icerik/185/Sayiyi-yaziya-donusturme.aspx

http://www.hayatisahin.com/BlogEngine/?tag=/C%23+Say%C4%B1y%C4%B1+Yaz%C4%B1ya+%C3%87evirme

Hiç yorum yok:

Yorum Gönder