Problème de comparaison de nombre
Bonjour,
Je développe un petit programme en vb.net permettant de trouver la caisse la plus adapté à une pièce à caisser.
Le problème c'est que le programme arrive a me dire que 80 est supérieure à 190. Je sais bien qu'on apprend le contraire à l'école (en tout cas dans mes souvenir lol).
Alors si quelqu'un aurais la bonté de se pencher sur le sujet je serai ravi d'être corrigé par plus fort que moi.
MERCI d'avance.
Voici le code en question :
Dim temp As Object
'Dim t As Object
Dim i As Integer
temp = ""
TextBox1.Clear()
For i = 0 To ListeCaisse.Items.Count - 1
Dim StringsToCheck As String
StringsToCheck = CStr(ListeCaisse.Items(i))
'StringsToCheck = StringsToCheck.Replace("x", vbCrLf)
'TextBox1.Text = StringsToCheck
temp = Split(TextBox1.Text, "x")
LProfondeur.Text = temp(0)
LLongueur.Text = temp(1)
LHauteur.Text = temp(2)
If LProfondeur.Text <= TProfond.Text Or LLongueur.Text <= TLong.Text Or LHauteur.Text <= THaut.Text Then
'MsgBox(LProfondeur.Text & " " & TProfond.Text & vbNewLine & LLongueur.Text & " " & TLong.Text & vbNewLine & LHauteur.Text & " " & THaut.Text & vbNewLine & vbNewLine & vbNewLine & "marche pas")
GoTo Suite
End If
If LProfondeur.Text > TProfond.Text Then
'MsgBox("Lprofondeur > Tprofond" & vbNewLine & LProfondeur.Text & " > " & TProfond.Text & vbNewLine & vbNewLine & vbNewLine & "*" & temp(0) & "*")
If LLongueur.Text > TLong.Text Then
'MsgBox("LLongueur > TLong" & vbNewLine & LLongueur.Text & " > " & TLong.Text)
If LHauteur.Text > THaut.Text Then
'MsgBox("LHauteur > THaut" & vbNewLine & LHauteur.Text & " > " & THaut.Text)
TextTest.AppendText(temp(0) & "x" & temp(1) & "x" & temp(2) & vbNewLine)
End If
End If
End If
Suite:
Next
End Sub
Bonjour,
Je ne connais pas le Vb.net mais à tout hasard, mais essayez de multiplier les "valeurs.text" par 1 pour les convertir en numérique.
If LProfondeur.Text * 1 <= TProfond.Text * 1 Or LLongueur.Text * 1 <= TLong.Text * 1 Or LHauteur.Text * 1 <= THaut.Text * 1
je viens de tester l'idée est bonne mais malheureusement ca ne fonctionne pas il convertis le résultat de "simple" en "double" et me crée une erreur.
Merci quand même d'avoir essayer de m'aider
Tu es en train de comparer des chaines de caractères. S'il y avait un dictionnaire pour les dates d'histoire, l'an "800" de Charlemagne viendrait bien après la Révolution Française de "1789". Pour pouvoir les comparer, il faudrait le même nombre de caractères, soit "0800" et "1789", ou bien faire le transtypage que t'a conseillé Arturo83 avec une variable numérique.
Merci Beaucoup effectivement j'ai rajouter une boucle pour tester le nombre de caractères et faire en sorte qu'il y en ai autant d'un côté que de l'autre et la "miracle" ca fonctionne nickel.
Merci à tous les deux pour votre aide rapide et efficace.
Bonne journée