IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Convertir un chiffre en lettres arabe C# [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Convertir un chiffre en lettres arabe C#
    je suis en train d'ecrire en code (C#) de conversion de chiffre en lettre arabe je me trouve avec une erreur qui dise :

    " Une exception non gérée du type 'System.StackOverflowException' s'est produite dans mscorlib.dll "

    voilà le début de mon code où se plante l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     public string convertion(double Lchiffre)
            {
                string Letter1="", Letter2="", Letter3="", Letter4="", Letter5="", Letter6="";
                
                 double x = Convert.ToDouble(Math.Truncate(Lchiffre));
                 string deb = Convert.ToString(x); 
    }
    Et ce que quelqu'un a une solution
    merci

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut problème resolu
    voilà le code pour 1 million :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public string convertion(double Lchiffre)
            {
                string Letter1="", Letter2="", Letter3="", Letter4="", Letter5="", Letter6="";
                int centaine, dizaine, unite;
     
                decimal chiffre3;
                chiffre3 = (int)((Lchiffre - (int)Lchiffre) * 1000);
     
                 int x = Convert.ToInt32(Math.Truncate(Lchiffre));
                 centaine = x/100;
                 int ce = centaine.ToString().Length;
     
                 dizaine = (x - centaine * 100)/10  ;
                 int diz = dizaine.ToString().Length;
     
                 unite = x - (centaine * 100) - (dizaine * 10);
                 int unit = unite.ToString().Length ;
                 int total = ce + diz + unit;
                 int lg = 12 - total;
     
                        string C = "";
                         switch (lg)
                         {
                             case 0: C = x.ToString();
                                 break;
                             case 1: C = "0"+x.ToString();
                                 break;
                             case 2 : C= "00" +x.ToString();
                                 break;
                             case 3: C = "000" + x.ToString();
                                 break;
                             case 4: C = "0000" + x.ToString();
                                 break;
                             case 5: C = "00000" + x.ToString();
                                 break;
                             case 6: C = "000000" + x.ToString();
                                 break;
                             case 7: C = "0000000" + x.ToString(); ;
                                 break;
                             case 8: C = "00000000" + x.ToString();
                                 break;
                             case 9: C = "000000000" + x.ToString();
                                 break;
                             case 10: C = "0000000000" + x.ToString();
                                 break;
                             case 11: C = "00000000000" + x.ToString();
                                 break;
                             case 12: C = "000000000000" + x.ToString();
                                 ;
                                 break;
                         }
     
    //*******************************
                    double C1 = Convert.ToDouble(C.Substring(11, 1));
                        if (C1 == 0)  Letter1 = ""; 
                        if (C1 == 1)  Letter1 = "واحد"; 
                        if (C1 == 2)  Letter1 = "إثنان"; 
                        if (C1 == 3)  Letter1 = "ثلاثة"; 
                        if (C1 == 4)  Letter1 = "أربعة"; 
                        if (C1 == 5)  Letter1 = "خمسة"; 
                        if (C1 == 6)  Letter1 = "ستة"; 
                        if (C1 == 7)  Letter1 = "سبعة"; 
                        if (C1 == 8)  Letter1 = "ثمانية"; 
                        if (C1 == 9)  Letter1 = "تسعة";
     
     //*******************************
                double C2 = Convert.ToDouble(C.Substring(10, 1));
     
                    if (C2 == 1) { Letter2 = "عشر"; }
                    if (C2 == 2) { Letter2 = " عشرون "; }
                    if (C2 == 3) { Letter2 = " ثلاثون "; }
                    if (C2 == 4) { Letter2 = " أربعون"; }
                    if (C2 == 5) { Letter2 = " خمسون"; }
                    if (C2 == 6) { Letter2 = " ستون"; }
                    if (C2 == 7) { Letter2 = " سبعون"; }
                    if (C2 == 8) { Letter2 = " ثمانون"; }
                    if (C2 == 9) { Letter2 = " تسعون"; }
     
                    if (Letter1 != "" && C2 > 1) Letter2 = Letter1 + " و" + Letter2;
                    if (Letter2 == "") Letter2 = Letter1;
     
                    if (C1 == 0 && C2 == 1) Letter2 = Letter2 + "ة";
                    if (C1 == 1 && C2 == 1) Letter2 = " إحدى عشر ";
                    if (C1 == 2 && C2 == 1) Letter2 = " إثنى عشر ";
                    if (C1 > C2 && C2 == 1) Letter2 = Letter1 + "  " + Letter2;
     
     //*******************************
     
                    double C3 = Convert.ToDouble(C.Substring(9, 1));
     
                    if (C3 == 1) { Letter3 = "مائة"; }
                    if (C3 == 2) { Letter3 = "مئتان"; }
                    if (C3 == 3) { Letter3 = "ثلاثمائة"; }
                    if (C3 == 4) { Letter3 = "أربعمائة"; }
                    if (C3 == 5) { Letter3 = "خمسمائة"; }
                    if (C3 == 6) { Letter3 = "ستمائة"; }
                    if (C3 == 7) { Letter3 = "سبعمائة"; }
                    if (C3 == 8) { Letter3 = "ثمانمائة"; }
                    if (C3 == 9)  Letter3 = "تسعمائة";
     
                    if (Letter3 != "" && Letter2 != "") Letter3 = Letter3 + " و"  + Letter2 ;
                    if (Letter3 == "") Letter3 = Letter2 ;
     
    //*******************************
     
                    double C4 = Convert.ToDouble(C.Substring(6, 3));
                    if (C4 == 1) { Letter4 = "ألف"; }
                    if (C4 == 2) { Letter4 = "ألفان"; }
                    if (3 <= C4 && C4 <= 10) { Letter4 = convertion(C4) + "ألاف  "; }
                    if (C4 >10 )  { Letter4 = convertion(C4) + " ألفا "; }
     
                    if (Letter4 != "" && Letter3 != "") Letter4 = Letter4 + " و" + Letter3 + " دينارا ";
                    if (Letter4 == "") Letter4 = Letter3;
     
    //*******************************
     
                    double C5 = Convert.ToDouble(C.Substring(3, 3));
     
                    if (C5 == 1) { Letter4 = "مليون "; }
                    if (C5 == 2) { Letter4 = "مليونان "; }
                    if (3 <= C5 && C5 <= 10) { Letter5 = convertion(C5) + "ملايين  "; }
                    if (C5> 10 )  { Letter5 = convertion(C5) + "مليون "; }
     
                    if (Letter5 != "" && Letter4 != "") Letter5 = Letter5 + "  و" + Letter4;
                    if (Letter5 == "") Letter5 = Letter4 ;
     
     //*******************************
     
                    double C6 = Convert.ToDouble(C.Substring(1, 3));
                    if (C6 == 1) { Letter6 = "مليار "; }
                    if (C6 == 2) { Letter6 = "ملياران "; }
                    if (C6> 20 ) { Letter6 = convertion(C6) + "مليار "; }
     
                    if (Letter6 != "" && Letter5 != "") Letter6 = Letter6 + " و" + Letter5;
                    if (Letter6 == "") Letter6 = Letter5;
                    return  Letter6 ;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. convertir chiffre en lettre arabe
    Par infomap dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/11/2011, 17h24
  2. convertir chiffre en lettre arabe
    Par infomap dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/04/2011, 19h39
  3. convertir chiffre en lettre arabe
    Par DzBadBoy dans le forum Langage
    Réponses: 13
    Dernier message: 21/09/2009, 21h46
  4. [WD10] Code pour convertir les chiffres en lettres
    Par w-cobra dans le forum WinDev
    Réponses: 10
    Dernier message: 24/01/2007, 16h56
  5. possible convertir un chiffre en lettre avec builder ?
    Par devlopassion dans le forum C++Builder
    Réponses: 8
    Dernier message: 11/09/2006, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo