IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

affiche virgule fixe


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Points : 15
    Points
    15
    Par défaut affiche virgule fixe
    Bonjour,
    j'ai réalisé une calculatrice sous VB6 en utilisant des variables "single", integer... et l'affichage de valeur grande se fait dans le format scientifique : 1,234 e08,
    or j'aimerais un affiche en virgule fixe: 1234000, 45.

    comment puis-je changer cela ?

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Utilise la fonction format(), si tu connais pas, un petit coup de F1

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    j'ai regardé dans la msdn, mais je n'y arrive pas...

    j'utilise VB6, et les trucs quej'ai trouvé sont pour .net...
    il n'y a pas une méthode pour qu'automatiquement mon affichage se fasse bien ? ou dois-je changer les expressions de chacunes de mes syntaxes ?

  4. #4
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 091
    Points : 16 634
    Points
    16 634
    Par défaut
    Petite experience
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_Load()
    Dim A As Double
    A = 123400056.32 + 0.45 'donne à l'affichage 123400056,77
    Label1 = A
    Dim B As Single
    B = 123400056.32 + 0.45'donne à l'affichage 1,234001E+8
    Label2 = B
    End Sub
    Le type Double semble bien être le mieux approprié.

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    ok merci,
    effectivement ça marche...
    mais pour de grandes valeurs, il me coupe simplement la fin, ce qui m'affiche de grosses erreurs.
    ya t'il un moyen de résoudre ceproblème?

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 091
    Points : 16 634
    Points
    16 634
    Par défaut
    essais le type Decimal (F1 pour comprendre la façon d'utilisé et declarer ce type)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Load()
    Dim Z As Variant
    Z = 123400056.32896 + 0.4532759 
    'extraction du sous-type decimal
    Label1 = CDec(Z) 'donne à l'affichage 123400056,782236
    End Sub

  7. #7
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.print Format(Nombre,"0.00")

  8. #8
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 091
    Points : 16 634
    Points
    16 634
    Par défaut
    Salut Delbeke

    Z = 123400056.32896 + 0.453275984567 = 123400056,782235984567
    Chez moi, Format(Z, "0.000000000") affiche 123400056,78223600000
    Il semblerait qu'il souhaite plus de decimale, donc en combinant ta proposition, on ne peu pas de toute façon atteindre un affichage de plus de 16 caractéres significatif du chiffre contenu dans la variable
    Cela doit être pourtant faisable, car avec la calculatrice windows, 123400056.32896 + 0.453275984567 = 123400056,782235984567

  9. #9
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    essais le type Decimal (F1 pour comprendre la façon d'utilisé et declarer ce type)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Load()
    Dim Z As Variant
    Z = 123400056.32896 + 0.4532759 
    'extraction du sous-type decimal
    Label1 = CDec(Z) 'donne à l'affichage 123400056,782236
    End Sub
    c'est, je crois, la seule solution !

Discussions similaires

  1. Virgule fixe 16 bits
    Par chris069 dans le forum MATLAB
    Réponses: 6
    Dernier message: 05/06/2009, 15h13
  2. représentation des nombres a virgules fixe en systemC
    Par MohEllayali dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 10/03/2009, 22h50
  3. rendre un nombre de virgule flottante en virgule fixe
    Par mitnick2006 dans le forum Général Java
    Réponses: 3
    Dernier message: 15/08/2008, 21h44
  4. virgule fixe en java
    Par Elendhil dans le forum Général Java
    Réponses: 3
    Dernier message: 24/05/2007, 23h02
  5. Chiffre a Virgule Fixe
    Par garybaldi dans le forum C
    Réponses: 3
    Dernier message: 21/06/2002, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo