Affichage des decimals [Résolu]

Signaler
Messages postés
14
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
25 décembre 2007
-
Messages postés
14
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
25 décembre 2007
-
bonjour,

mon probleme est que dans mon application vb6 le resultat d un calcul est arrondie.

voici mon code :

'declare variable
        Dim dn As Double

dn = Val(txtciden.Text) - 0.85

si, par exemple, txtciden.Text = 0, dn devrait etre égale a -0.85 mais affiche 0.

comment faire pour afficher le bon resultat??

merci

14 réponses

Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011

Hello philjoyal

Option Explicit
Dim dn As Single




Private Sub Form_Click()
dn = CSng(Val(Text1.Text) - 0.85)
Label1.Caption = dn
End Sub

Une texte box et un label pour voir réponse correcte
A+
42wawa42
Messages postés
326
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
29 avril 2008
2
Salut,
Ta variable dn  doit être en Single, ensuite

dn = CSng (txtciden.Text- 0.85)
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Bonsoir,

Es-tu sur de tout nous dire ? En effet, le code suivant :

Sub ess()
'declare variable
Dim dn As Double
dn = Val("0") - 0.85
MsgBox dn
End Sub

renvoit bien -0,85...

Amicalement,
Us.
Messages postés
326
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
29 avril 2008
2
Salut us_30

Oui, mais il travaille avec des textbox, donc en string.
Pour ça le val ne suffit pas.
Messages postés
14
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
25 décembre 2007

merci de la reponse rapide....

malheureusement, le code :

Dim dn As Single

dn = CSng(txtciden.Text - 0.85)

ne fonctionne pas
Messages postés
14
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
25 décembre 2007

voici mon code au complet:


 


Private Sub cmdcalcci_Click()


           'Load method error window
        If btnci976.Value = False _
     And btnci4737a.Value = False _
     And btnci4737b.Value = False Then
MsgBox "Select an ASTM Method"
        End If
       
       
        'declare variable
        Dim dn As Double
        Dim t10n As Double
        Dim t50n As Double
        Dim t90n As Double
        Dim b As Double
        
        
            'calculate cetane index D4737 A
        If btnci4737a.Value = True Then
            dn = Val(txtciden.Text) - 0.85
            b = 2.71828 ^ ((-3.5) * Val(dn)) - 1
            t10n = Val(txtcit10.Text) - 215
            t50n = Val(txtcit50.Text) - 260
            t90n = Val(txtcit90.Text) - 310


            lblciden = Val(dn)
            lblcit10n = Val(t10n)
            lblcit50n = Val(t50n)
            lblcit90n = Val(t90n)
            lblcie = Val(b)


            lblci = 45.2 + (0.0892 * Val(t10n)) + (0.131 * Val(t50n)) + (0.0523 * Val(t90n)) + (0.901 * Val(b) * Val(t50n)) - (0.42 * Val(b) * Val(t90n)) + (0.00049 * Val(t10n) ^ 2) - (0.00049 * Val(t90n) ^ 2) + (107 * Val(b)) + (60 * Val(b) ^ 2)
            lblci = Format(lblci, "standard")
Messages postés
326
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
29 avril 2008
2
Salut,
Il faut déclarer ta variable dans générale (déclarations), non pas dans ton sub.

Dim dn  As Single
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Ecris le ainsi, alors :

CSng(Val(txtciden.Text)) - 0.85
Messages postés
14
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
25 décembre 2007

je suis debutant....comment je fais pour la declarer en generale?
Messages postés
14
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
25 décembre 2007

CSng(Val(txtciden.Text)) - 0.85 ne fonctionne pas  non-plus
Messages postés
326
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
29 avril 2008
2
Salut,
sur ta form, tu clik en haut à gauche sur général, ou tu vas en haut avec ton curseur.
Salut philjoyal, avec CSng, pas besoin de val.
Messages postés
14
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
25 décembre 2007

merci pour votre temps

avec : dn = CSng(txtciden.Text - 0.85)

j ai une erreur de type mismatch
Messages postés
326
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
29 avril 2008
2
Salut,
Chez moi ça marche trés bien, regarde bien toutes tes variables qui ont un lien avec dn, et mettre tous les Dim en Général.
Messages postés
14
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
25 décembre 2007

merci 42wawa42 pour la solution et a tous ceux qui m on aider!!

tres apprecié!!