Probleme dans soustration

Résolu
FRED92G
Messages postés
287
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
13 août 2022
- Modifié le 5 août 2022 à 17:10
FRED92G
Messages postés
287
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
13 août 2022
- 5 août 2022 à 21:45

Bonjour,

 arrive pas a faire ma soustration sur ma dim rev je comprent pas pour quoi

il me sort un resulta dans les 3000 il devrai rester 05 je veux sete affichage en plus et pas juste 5

Dim x As String = "40"
       Dim y As String = "25"
       Dim z As Integer = x + y
 
 
       If z.ToString <= "60" Then
 
           Dim moin As String = "60"
           Dim REV As Integer = Val(z) - Val(moin)
 
           MsgBox(REV)
       End If

4 réponses

NHenry
Messages postés
14967
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 août 2022
161
5 août 2022 à 17:18

Actives Option Strict (On dans les options du projet).

Et au lieu d'utiliser des String pour gérer du numérique utilise des integer, tu aura déjà plus de succès.

De base, active Option Strint et Option Explicit et retire l'import automatique de l'espade de nom Microsoft.VisualBasic.

Val est à bannir, il faut lui préféré integer.Parse (marche avec tous les types de base) ou TryParse.


J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"

1
Whismeril
Messages postés
17659
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
13 août 2022
612
5 août 2022 à 19:58

T'as raison, continue à ne pas suivre nos conseils et écrire n'importe quoi et à l'instar de trucss tu vas venir ici ou ailleurs poser des questions idiotes (car oui celle-ci est idiote => on ne fait pas de calculs avec du texte mais avec des nombres).


Quand j'étais petit, la mer Morte n'était que malade.
George Burns

1
FRED92G
Messages postés
287
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
13 août 2022

5 août 2022 à 17:23

FINALEMENT J AI FAIT COMME SA ET J AI SE QUE JE VEUX COMME IL FAUT

Dim x As String = "40"
        Dim y As String = "25"
        Dim z As Integer = x + y
        Dim tSpan As TimeSpan = TimeSpan.FromMinutes(z)
        Dim result As String = tSpan.ToString("mm")
        MsgBox(result)
-1
FRED92G
Messages postés
287
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
13 août 2022

Modifié le 5 août 2022 à 21:51

au depart  j ete parti sur une idee et au final j ai prie une autre solution mes completement differente j ai revue le code completement et pour finir sa marche tres bien du coup le titre va plus telement avec le final je chercher a faire une temporisation je me voyer pas metre x timer dans le code

apres y a surment des corrections a faire dans le code je connais pas tout et je pretent pas tout savoir

  Dim temps As Integer = Format(Now, "ss")
        Dim decalages As Integer = temps + "25"
        Dim DS As String = decalages.ToString
        Dim tSpanS As TimeSpan = TimeSpan.FromMinutes(DS)
        Dim resultS As String = tSpanS.ToString("mm")
        Do
            If resultS = Format(Now, "ss") Then Exit Do
            Application.DoEvents()
        Loop
-1