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

SAS Base Discussion :

Forcer 2 chiffres après la virgule [DATA]


Sujet :

SAS Base

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Par défaut Forcer 2 chiffres après la virgule
    Hola !
    Ma question peut paraitre bidon mais bizarrement impossible d'y trouver une réponse.
    Je cherche à arrondir un chiffre à 2 chiffres après la virgule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Var1=19.987;
    Var2=19.102;
    Var1b=round(Var1,.01);
    Var2b=round(Var2,.01);
    Pour Var1b, pas de soucy, on obtient 19.99
    Pour Var2b, on obtient 19.1.... Et mon problème est que j'aimerais avoir 19.10 !!

    L'application d'un format x.2 ne résout pas mon problème car ce n'est qu'un format d'affichage. Je veux réellement avoir le chiffre 19.10.

    En vous remerciant par avance !!

  2. #2
    Membre Expert
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Par défaut
    tu peux créer une variable au type caractère:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    data test;
    Var1=19.987;
    Var2=19.102;
    Var1b=round(Var1,.01);
    Var2b=round(Var2,.01);
    var1c=put(var1, 6.2);
    var2c=put(var2, 6.2);
    run;

  3. #3
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Bonjour,

    Je ne comprends pas ce que tu veux dire par "Je veux réellement avoir le chiffre 19.10."?
    Pourquoi le format x.2 ne répond pas à ton besoin?
    C'est quoi ton objectif?

    Salah

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Par défaut
    Mon objectif est ensuite de concaténer plusieurs cellules afin d'obtenir par exemple :

    Var2c=19.10 (45.20%)

    Du coup, la solution de Manoutz est parfaite !!
    Je vous remercie pour votre aide.

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    le format répond aussi à ton problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    data t;
    Var1=19.987;
    Var2=19.102;
    Var1b=round(Var1,0.01);
    format var2b 5.2;
    *informat var2b 5.2;
    Var2b=round(Var2,0.01);
    run;
    proc print data=t;run;

  6. #6
    Membre Expert
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Par défaut
    Etant donné que l'objectif à terme est la fusion avec une autre donnée - le pourcentage - je pense qu'il est mieux de passer au type caractère. Tant qu'a faire autant tout fusionner en une seule instruction (passe ta valeur en x.2 et concatène avec ton pourcentage)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Forcer le résultat à 2 chiffres apres la virgule
    Par laguine666 dans le forum Général Python
    Réponses: 7
    Dernier message: 22/04/2009, 23h15
  2. Double : forcer 2 chiffres après la virgule
    Par womannosky dans le forum Langage
    Réponses: 2
    Dernier message: 15/01/2009, 16h18
  3. Chiffres après la virgule figés
    Par bondjames dans le forum Bases de données
    Réponses: 6
    Dernier message: 10/03/2004, 23h09
  4. [MFC] Nombre de chiffres après la virgule
    Par karl3i dans le forum MFC
    Réponses: 3
    Dernier message: 27/01/2004, 13h04
  5. Nb de chiffres après la virgule ?
    Par Thcan dans le forum C
    Réponses: 10
    Dernier message: 17/09/2003, 21h49

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