Probleme dans soustration

Résolu
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 août 2022 - Modifié le 5 août 2022 à 17:10
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 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 15083 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 septembre 2023 159
Modifié le 2 oct. 2022 à 00:05

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 auras déjà plus de succès.

De base, active Option Strict 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 18615 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 septembre 2023 629
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 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 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 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 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
Rejoignez-nous