Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Sayıyı yazıya çevirme

Konu, 'Javascript' kısmında merhum_dogan tarafından paylaşıldı.

  1. myaldir

    myaldir Yeni Üye

    Kayıt:
    2 Ekim 2014
    Mesajlar:
    1
    Beğenilen Mesajlar:
    0
    Aşağıdaki Kod ile 999999999999,99 a kadar hiç hatasız çözebilirsiniz.
    Kod:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                //girilen sayi 1 milyondan kucuk olacak
    
                String[] basamak = { "yüz", "bin", "milyon", "milyar" };
    
                String[] ondalik = { "on", "yirmi", "otuz", "kırk", "elli", "atmis", "yetmis", "seksen", "doksan" };
                String[] rakam = { "bir", "iki", "üç", "dort", "beş", "alti", "yedi", "sekiz", "dokuz" };
                String input = "111111111111,01";
                String tam = "";
                String virgul = "";
                string label1Text = "";
                string label2Text = "";
    
                tam = input.Split(',')[0];
                if (input.IndexOfAny(",".ToCharArray()) != -1)
                {
                    virgul = input.Split(',')[1];//bu kisim yok:)
                    for (int i = virgul.Length; i > 0; i--)
                    {
                        if (i == 2)
                        {
                            if (Int16.Parse(virgul.Substring(virgul.Length - i, 1)) - 1 > -1)
                                label2Text += " " + ondalik[Int16.Parse(virgul.Substring(virgul.Length - i, 1)) - 1] + " ";
                        }
                        else
                            if (i == 1)
                            {
                                if (Int16.Parse(virgul.Substring(virgul.Length - i, 1)) - 1 > -1)
                                    label2Text += " " + rakam[Int16.Parse(virgul.Substring(virgul.Length - i, 1)) - 1];
                            }
                    }
                    if (label2Text == "")
                        label2Text = " ve Sıfır Krş.";
                    else
                        label2Text = label2Text = " ve " + label2Text + " Krş.";
                }
    
    
                for (int i = tam.Length; i > 0; i--)
                {
                    if (i > 9 && i < 13)
                    {
                        if (i > 1 && i % 3 == 1)
                        {
                            if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                            {
                                label1Text += rakam[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1] + " " + basamak[3];
                            }
                        }
                        else
                        {
                            if (i > 1 && i % 3 == 2)
                            {
                                if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                {
                                    label1Text += " " + ondalik[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1] + " " + (tam.Substring(tam.Length - i + 1, 1) == "0" && i > 3 ? basamak[3] : "");
                                }
                            }
                            else
                            {
                                if (i > 1 && i % 3 == 0)
                                {
                                    if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                    {
                                        label1Text += " " + (!tam.Substring(tam.Length - i, 1).Equals("1") ? rakam[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1] + " " : "") + basamak[0] + (tam.Substring(tam.Length - i + 1, 1) == "0" && tam.Substring(tam.Length - i + 2, 1) == "0" && i > 3 ? " " + basamak[3] : "");
                                    }
                                }
                                else
                                {
                                    if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                    {
                                        label1Text += " " + rakam[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1];
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        if (i > 6 && i < 10)
                        {
                            if (i > 1 && i % 3 == 1)
                            {
                                if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                {
                                    label1Text += rakam[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1] + " " + basamak[2];
                                }
                            }
                            else
                            {
                                if (i > 1 && i % 3 == 2)
                                {
                                    if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                    {
                                        label1Text += " " + ondalik[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1] + " " + (tam.Substring(tam.Length - i + 1, 1) == "0" && i > 3 ? basamak[2] : "");
                                    }
                                }
                                else
                                {
                                    if (i > 1 && i % 3 == 0)
                                    {
                                        if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                        {
                                            label1Text += " " + (!tam.Substring(tam.Length - i, 1).Equals("1") ? rakam[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1] + " " : "") + basamak[0] + (tam.Substring(tam.Length - i + 1, 1) == "0" && tam.Substring(tam.Length - i + 2, 1) == "0" && i > 3 ? " " + basamak[2] : "");
                                        }
                                    }
                                    else
                                    {
                                        if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                        {
                                            label1Text += " " + rakam[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1];
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (i > 1 && i % 3 == 1)
                            {
                                if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                {
                                    if (label1Text.Length > 5 && (label1Text.Substring(label1Text.Length - 6, 6) == "Milyon" || label1Text.Substring(label1Text.Length - 6, 6) == "milyon" || label1Text.Substring(label1Text.Length - 6, 6) == "Milyar" || label1Text.Substring(label1Text.Length - 6, 6) == "milyar"))
                                    {
                                        label1Text += basamak[1];
                                    }
                                    else
                                    {
                                        label1Text += rakam[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1] + " " + basamak[1];
                                    }
                                }
                                if (label1Text == "bir bin")
                                    label1Text = "bin";
                            }
                            else
                            {
                                if (i > 1 && i % 3 == 2)
                                {
                                    if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                    {
                                        label1Text += " " + ondalik[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1] + " " + (tam.Substring(tam.Length - i + 1, 1) == "0" && i > 3 ? basamak[1] : "");
                                    }
                                }
                                else
                                {
                                    if (i > 1 && i % 3 == 0)
                                    {
                                        if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                        {
                                            label1Text += " " + (!tam.Substring(tam.Length - i, 1).Equals("1") ? rakam[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1] + " " : "") + basamak[0] + (tam.Substring(tam.Length - i + 1, 1) == "0" && tam.Substring(tam.Length - i + 2, 1) == "0" && i > 3 ? " " + basamak[1] : "");
                                        }
                                    }
                                    else
                                    {
                                        if (Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1 > -1)
                                        {
                                            label1Text += " " + rakam[Int16.Parse(tam.Substring(tam.Length - i, 1)) - 1];
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if (label1Text == "")
                    label1Text = "Sıfır";
                label1Text += " TL";
    
                MessageBox.Show(label1Text + " " + label2Text);
                Environment.Exit(0);
                Application.Exit();
            }
        }
    }
     
    Son düzenleme yönetici tarafından yapıldı: 4 Ekim 2014
  2. James De Souza

    James De Souza Cave Quid Optes

    Kayıt:
    19 Şubat 2008
    Mesajlar:
    2,135
    Beğenilen Mesajlar:
    0
    Meslek:
    Off
    Şehir:
    İzmir
    javascript bölümü altında c# kodu paylaşmak biraz olmadı ama yine de iş görebilir, fikir verebilir.
     
  3. suaterenler

    suaterenler Yeni Üye

    Kayıt:
    11 Mart 2018
    Mesajlar:
    1
    Beğenilen Mesajlar:
    1
    Şehir:
    istanbul
    //erenleryazilim.com 2018
    //bu kodlama, parasal sayıyı, yazılı haline getirir
    //örnek: 1250.75 > BİN İKİ YÜZ ELLİ TL YETMİŞ BEŞ KR

    function yaziyla(sayi)
    {
    rakam = sayi.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",").split(".");
    tamsayi = rakam[0];
    ondalik = rakam[1]||"";

    var birler = ["","BİR","İKİ","ÜÇ","DÖRT","BEŞ","ALTI","YEDİ","SEKİZ","DOKUZ"];
    var onlar = ["","ON","YİRMİ","OTUZ","KIRK","ELLİ","ALTMIŞ","YETMİŞ","SEKSEN","DOKSAN"];
    var binler = ["","BİN","MİLYON","MİLYAR","TRİLYON","KATRİLYON","KENTİLYON"];
    var sonuc = [];
    var adim = 0;

    for(i=tamsayi.split(",").length;i>0;i--)
    {
    sayi = tamsayi.split(",")[i-1];
    if(sayi.length==1){ sayi="00"+sayi; }
    if(sayi.length==2){ sayi="0"+sayi; }
    c="";

    for(j=1;j<sayi.length+1;j++)
    {
    if(j==1 && sayi[j-1]==1){ c+= " YÜZ "; }
    else if(j==1 && birler[sayi[j-1]]!=""){ c+= birler[sayi[j-1]]+" YÜZ "; }
    else if(j==2){ c+= onlar[sayi[j-1]]+" "; }
    else if(j==3 && tamsayi.length==5 && sayi[j-1]==1 && adim==1){ c+= " "; }
    else if(j==3){ c+= birler[sayi[j-1]]+" "; }​
    }

    if(c!=""){ sonuc.push(c+binler[adim]); }
    adim++;​
    }

    if(sonuc.length!=0){ sonuc = sonuc.reverse().join(" ")+" TL"; }else{ sonuc=""; }
    if(ondalik.length==1){ ondalik=ondalik+"0"; }
    if(ondalik!=""){ sonuc += " "+onlar[ondalik[0]]+" "+birler[ondalik[1]]+ " KR"; }
    sonuc = sonuc.replace(/ /g," ").trim();
    return sonuc;​
    }

    yaziyla(123456.78); //örnek çalıştırma

    //erenleryazilim.com 2018
     
    sedirAğacı bunu beğendi.