none
tostring format RRS feed

  • Question

  • bonjour

    je me trouve devant un problème j'ai un code  qui normalement doit afficher un nombre décimal dans un textbox hors je n'obtient que par exemple 2.00 au lieu de 2.31

    voici mon code merci de m'indiquer où j'ai fait une erreur

            private void poids_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.Key == Key.Return)
                {
    
                    tr2 = poids.Text;
                    int A1 = int.Parse(tr1) * int.Parse(tr2);
                    int A = A1 / 100;
                    MessageBox.Show(A.ToString(".00"));
                    resultat.Text = "Résultat  Poids  nécessaire  : ";
                    calcul_resultat.Text = A.ToString(".00") + "Gr";
    
                }
    
            }
    

    jeudi 3 novembre 2016 12:01

Réponses

  • Bonjour SIMONGEORGES,

    ToString convertit automatiquement sans besoin de formater.

    Si vous souhaitez arrondir le résultat à deux chiffres après la virgule utilisez l'expression suivante  :

    String.Format("{0:0.##}", 145.2358);

    Cordialement,


    jeudi 3 novembre 2016 12:14
  • Bonjour,

    Vous utilisez un nombre entier comme type de variable pour A, donc forcément il n'a pas de partie décimale.

    Changez votre type en float/double pour avoir une partie décimale.

    Cordialement,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    jeudi 3 novembre 2016 12:58
  • private void poids_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Return) { tr2 = poids.Text; int A1 = int.Parse(tr1) * int.Parse(tr2); int A = A1 / 100; MessageBox.Show(A.ToString(".00")); resultat.Text = "Résultat Poids nécessaire : "; calcul_resultat.Text = A.ToString(".00") + "Gr"; } }

    vérifie les types de tes variables au lieu des int, tu met les double


    <h3>Merci de marquer comme reponse A&amp;#43;</h3>

    jeudi 3 novembre 2016 13:36

Toutes les réponses

  • Bonjour SIMONGEORGES,

    ToString convertit automatiquement sans besoin de formater.

    Si vous souhaitez arrondir le résultat à deux chiffres après la virgule utilisez l'expression suivante  :

    String.Format("{0:0.##}", 145.2358);

    Cordialement,


    jeudi 3 novembre 2016 12:14
  • Bonjour,

    Vous utilisez un nombre entier comme type de variable pour A, donc forcément il n'a pas de partie décimale.

    Changez votre type en float/double pour avoir une partie décimale.

    Cordialement,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    jeudi 3 novembre 2016 12:58
  • private void poids_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Return) { tr2 = poids.Text; int A1 = int.Parse(tr1) * int.Parse(tr2); int A = A1 / 100; MessageBox.Show(A.ToString(".00")); resultat.Text = "Résultat Poids nécessaire : "; calcul_resultat.Text = A.ToString(".00") + "Gr"; } }

    vérifie les types de tes variables au lieu des int, tu met les double


    <h3>Merci de marquer comme reponse A&amp;#43;</h3>

    jeudi 3 novembre 2016 13:36
  • merci de votre réponse je viens de modifier ma variable en double

    comment afficher dans un textbox de format j’ai  texbox1.text = a.tostring("0.##)

    merci de me corriger

    jeudi 3 novembre 2016 13:49