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

  1. #1
    Membre actif
    C# windows Sqlite deux chiffres après la virgule avec SUM
    Bonjour à tous,

    Je bute sur cette instruction SQL dont voici le code :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
           var query = "SELECT SUM(replace(montant_total_cmd, ',', '')) FROM Tble_Commande WHERE Annee = '" + Annee_en_Cour + "'";
                    using (var cmd = new SQLiteCommand(query, Program.Connex_Bdd))
                    {
                      int sum = Convert.ToInt32(cmd.ExecuteScalar());
                        Program.Montant_ttle = cmd.ExecuteScalar().ToString();
                        MessageBox.Show(string.Format("{0:0.00}", sum));
                    }


    Dans cet exemple je veux trouver la somme de (145,15 + 191,86 + 117,60 + 218,80) ce qui fait normalement 673,41

    Mais avec la valeur ci-dessous j'obtiens 67341
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    cmd.ExecuteScalar().ToString()

    et avec la valeur ci-dessous j'obtiens 67341,00
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    string.Format("{0:0.00}", sum)


    Malgrès mes recherches je n'arrive pas à obtenir 673,41

    Dans ma base de données Sqlite j'ai des virgules et non des points de type REAL.

    J'avais pensé à cette solution ci-dessous mais le résultat donne ceci 67341
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
                        double sum = Convert.ToInt32(cmd.ExecuteScalar());
                        MessageBox.Show("" + Math.Round(sum, 2));


    Qui peut m'aider à retrouver la vrai valeur avec deux chiffres après la virgule ?

    Merci à vous

    Bruno

  2. #2
    Membre actif
    J'ai ma réponse
    Si ça peut servir à quelqu'un....
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                 var query = "SELECT SUM(montant_total_cmd) FROM Tble_Commande WHERE Annee = '" + Annee_en_Cour + "'";
                    using (var cmd = new SQLiteCommand(query, Program.Connex_Bdd))
                    {                
                        double sum = (double)cmd.ExecuteScalar();
                        Program.Montant_ttle = "" + string.Format("{0:0.00}", sum);
     
                    }