Affichage des decimals

Résolu
philjoyal Messages postés 14 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 25 décembre 2007 - 22 déc. 2007 à 19:03
philjoyal Messages postés 14 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 25 décembre 2007 - 22 déc. 2007 à 21:40
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

42wawa42 Messages postés 143 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 6 septembre 2011
22 déc. 2007 à 21:22
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
3
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
22 déc. 2007 à 19:56
Salut,
Ta variable dn  doit être en Single, ensuite

dn = CSng (txtciden.Text- 0.85)
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
22 déc. 2007 à 20:01
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.
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
22 déc. 2007 à 20:06
Salut us_30

Oui, mais il travaille avec des textbox, donc en string.
Pour ça le val ne suffit pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
philjoyal Messages postés 14 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 25 décembre 2007
22 déc. 2007 à 20:10
merci de la reponse rapide....

malheureusement, le code :

Dim dn As Single

dn = CSng(txtciden.Text - 0.85)

ne fonctionne pas
0
philjoyal Messages postés 14 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 25 décembre 2007
22 déc. 2007 à 20:18
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")
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
22 déc. 2007 à 20:19
Salut,
Il faut déclarer ta variable dans générale (déclarations), non pas dans ton sub.

Dim dn  As Single
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 déc. 2007 à 20:23
Ecris le ainsi, alors :

CSng(Val(txtciden.Text)) - 0.85
0
philjoyal Messages postés 14 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 25 décembre 2007
22 déc. 2007 à 20:27
je suis debutant....comment je fais pour la declarer en generale?
0
philjoyal Messages postés 14 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 25 décembre 2007
22 déc. 2007 à 20:29
CSng(Val(txtciden.Text)) - 0.85 ne fonctionne pas  non-plus
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
22 déc. 2007 à 20:34
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.
0
philjoyal Messages postés 14 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 25 décembre 2007
22 déc. 2007 à 21:02
merci pour votre temps

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

j ai une erreur de type mismatch
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
22 déc. 2007 à 21:10
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.
0
philjoyal Messages postés 14 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 25 décembre 2007
22 déc. 2007 à 21:40
merci 42wawa42 pour la solution et a tous ceux qui m on aider!!

tres apprecié!!
0
Rejoignez-nous