VB5 : probleme de taille avec le type CURRENCY

VB5 : probleme de taille avec le type CURRENCY - Programmation

Marsh Posté le 19-11-2001 à 16:18:43    

:hello:  
 
voila, j'ai developpe un petit convertisseur euro pour ma boite :)
 
j'ai toutes mes variables en currency et il me semble qu'elles sont limitees a 2 chiffres apres la virgule. Or, il m'en affiche toute une famille :D
 
je voudrais savoir comment changer ca ...
 
merci de votre aide precieuse (comme a l'habitude :))
 
voici mon code :
 

Dim Actif As String
 
// ca c'est une image pour fermer le programme
Private Sub Picture7_Click()
    Unload Me
End Sub
//
 
Private Sub txtRecu_GotFocus()
    txtRecu.Text = ""
    txtEuro.Text = ""
    txtFranc.Text = ""
End Sub
 
Private Sub txtEuro_Change()
    Dim Euro As Currency
    Dim Franc As Currency
    Dim Recu As Currency
     
    If txtEuro.Text <> "" And Actif = "Euro" Then
        Euro = txtEuro.Text
        txtFranc.Text = Euro * 6.55957
        Franc = txtFranc.Text
        Recu = txtRecu.Text
        txtfranc2.Text = Recu - Franc
        txteuro2.Text = (Recu / 6.55957) - Euro
    ElseIf Actif = "Euro" Then
        txtFranc.Text = ""
    End If
End Sub
 
Private Sub txtEuro_GotFocus()
    Actif = "Euro"
    txtEuro.Text = ""
    txtFranc.Text = ""
End Sub
 
Private Sub txtFranc_Change()
    Dim Franc As Currency
    Dim Euro As Currency
    Dim Recu As Currency
    If txtFranc.Text <> "" And Actif = "Franc" Then
        Franc = txtFranc.Text
        txtEuro.Text = Franc / 6.55957
        Euro = txtEuro.Text
        Recu = txtRecu.Text
        txtfranc2.Text = Recu - Franc
        txteuro2.Text = (Recu / 6.55957) - Euro
    ElseIf Actif = "Franc" Then
        txtEuro.Text = ""
    End If
End Sub
 
Private Sub txtFranc_GotFocus()
    Actif = "Franc"
    txtEuro.Text = ""
    txtFranc.Text = ""
End Sub

 

[edtdd]--Message édité par Batman-Fr--[/edtdd]


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 19-11-2001 à 16:18:43   

Reply

Marsh Posté le 19-11-2001 à 17:16:25    

Heu, t es sur que :  
 
Euro * 6.55957    ca reste en currency ca ???
 
j ai pas le temps (et surtout la flemme) mais je jetterai un coup d oeil la dessus a ta place
sinon tu peux toujours caster le nombre en sortie ...
 
 :hello:

Reply

Marsh Posté le 19-11-2001 à 17:48:19    

:)  
 
et si je mais mon 6.55957 dans une variable en currency . :??:
 
je vais essayer ca :)


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 19-11-2001 à 17:52:52    

bon bah ca change rien ...
 
c'est quoi ce caste magique ?? :)


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 20-11-2001 à 08:08:14    

Le currency a une precision de 4 décimale .... Or pour convertir en euro on te demande un precision sur 5 decimale (6.55957).
Il faut que tu convertisse en doucle par exple pour avoir la bonne precision : CDbl(nynumber)

Reply

Marsh Posté le 20-11-2001 à 10:47:35    

:hello:  
 
ok, en effet, le probleme venait de la :)
 
en passant toutes mes variables de calcul en Double et en placant mon resultat dans une variable Currency et affichant cette derniere, ca passe :)
 
sauf que je croyais que le Currency etait sur 2 decimales :(
du coup, ca marche mais comme pas il faudrait ...
 
comment limiter a 2 decimales ?
 
merci d'avance de votre aide

 

[edtdd]--Message édité par Batman-Fr--[/edtdd]


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 20-11-2001 à 11:42:13    

tu peux utiliser ca  :
MyStr = Format(334.9, "###0.00" )   ' Returns "334.90".

Reply

Marsh Posté le 20-11-2001 à 11:58:20    

Bloodymary_ a écrit a écrit :

tu peux utiliser ca  :
MyStr = Format(334.9, "###0.00" )   ' Returns "334.90".  




 
 :jap:  
 
ca marche impeccable  :hap:  
 
ca doit etre une fonction assez banale celle la ... je debute totalement en VB avec ce micro-projet
 
maintenant que je suis chaud, comment lui faire accepter un point ( . ) au lieu de la virgule ( , ) quand je tape un montant ? pcq la, il me sort le debugeur :D  
 
merci merci a vous  :ange:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 20-11-2001 à 13:25:12    

La je veux pas dire de c.. mais je pense que ca depend des params regionaux de windaube
Si c est bien ca, ca devient plus chaud, faut ptet bien faire une gestion specifique en amont  ...

Reply

Marsh Posté le 20-11-2001 à 14:28:04    

mer**  :(  
 
pcq c'est lourd de devoir retourner sur la touche , alors que tout le reste se tape avec le pave numerique ... le . est bcp simple du coup ...


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed