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

VB.NET Discussion :

résultat d'un calcul dans un autre calcul


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Points : 26
    Points
    26
    Par défaut résultat d'un calcul dans un autre calcul
    Bonjour,
    Je voudrais faire un 2nd calcul en utilisant le résultat du 1er calcul mais j'obtiens le message suivant :
    La conversion de la chaîne "t0 = 12268,46 secondes" en type 'Double' n'est pas valide.
    Je comprend le message d'erreur mais je ne sais pas comment le résoudre. Avez-vous la solution ? Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Private Sub Calcul1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calcul1.Click
            If Verification() Then
                Me.labelt0.Text = "t0 = " & Calcul2(Me.Ca1.Text, Me.S1.Text, Me.q1.Text, Me.a1.Text, Me.b1.Text).ToString("0.0#") & " secondes"
                Me.LabelVmax.Text = "Vmax = " & Calcul3(Me.Ca1.Text, Me.S1.Text, Me.q1.Text, Me.a1.Text, Me.b1.Text, Me.labelt0.Text).ToString("0.0#") & " mètres cubes"
            Else
                Me.erreur.Visible = True
            End If
        End Sub

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 128
    Points : 168
    Points
    168
    Par défaut
    dans ta fonction calcul3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Calcul3(Me.Ca1.Text, Me.S1.Text, Me.q1.Text, Me.a1.Text, Me.b1.Text, Me.labelt0.Text)
    je crois que tu devra remplacer me.labelt0.text par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Calcul2(Me.Ca1.Text, Me.S1.Text, Me.q1.Text, Me.a1.Text, Me.b1.Text)
    elle sera ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.LabelVmax.Text = "Vmax = " & Calcul3(Me.Ca1.Text, Me.S1.Text, Me.q1.Text, Me.a1.Text, Me.b1.Text, Calcul2(Me.Ca1.Text, Me.S1.Text, Me.q1.Text, Me.a1.Text, Me.b1.Text))
    c'est la seule solution qu'on peut te donner si tu ne donne pas le code de tes fonctions calcul2 et calcul3

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function Calcul2(ByVal Ca As Double, ByVal S As Double, ByVal q As Double, ByVal a As Double, ByVal b As Double) As Double
            Dim labelt0 As Double
            labelt0 = ((Ca * S * (a * 10 ^ -3 / 3600 * 60 ^ b) * (1 - b)) / (q * 10 ^ -3)) ^ (1 / b)
            Return labelt0
        End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function Calcul3(ByVal Ca As Double, ByVal S As Double, ByVal q As Double, ByVal a As Double, ByVal b As Double, ByVal t0 As Double) As Double
            Dim labelVmax As Double
            labelVmax = (Ca * S * a * t0 ^ (1 - b)) - q * t0
            Return labelVmax
        End Function

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 128
    Points : 168
    Points
    168
    Par défaut
    oui c'est ce que j'ai pensé!
    t'as déclaré t0 as double et tu lui attribue un string

    donc normalement avec ce que je t'ai donné en haut ça devrait marcher (vb laisse pas les choses) mais pour mieux faire, tu devrait faire toutes les conversions:
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Ca As Double = Convert.ToDouble(Me.Ca1.text)
    etc....

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/02/2007, 15h30
  2. Réponses: 7
    Dernier message: 18/01/2007, 16h03
  3. Réponses: 3
    Dernier message: 30/11/2006, 07h25
  4. Transformer les résultats d'une requête dans un autre ordre
    Par keikun dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/04/2006, 17h29
  5. Réponses: 5
    Dernier message: 05/04/2005, 12h53

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