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

PL/SQL Oracle Discussion :

[10g] Petit problème avec grand pourcentage (to_char)


Sujet :

PL/SQL Oracle

  1. #1
    CUCARACHA
    Invité(e)
    Par défaut [10g] Petit problème avec grand pourcentage (to_char)
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            NVL
            (
                CONCAT
                (
                    TO_CHAR ((PAK_BHR_V2.Get_POSITION_NOMINAL(M.ISIN,M.PTF_ID,T.NAME)/PAK_BHR_V2.Get_POSITION_AMOUNT(M.ISIN,M.PTF_ID,T.NAME))*100,'990D00')
                    ,
                    ' %'
                )
                ,''
            )
    Ce dessus une expression Oracle 10g censée m'afficher des beaux pourcentages.

    Le problème est que le programme que je fait est justement conçu pour repérer des incohérences dans les positions.

    En gros si tu avais un bon du trésor grec avant la crise, ça affichait 20.10% et c'était beau.

    Maintenant que le pays est au bord du gouffre tu peux avoir des 103002830933.00% et quand c'est le cas, ça m'affiche des ####

    Mon souci est que je bosse en web donc, ça me casse ma mise en page car je n'arrive pas à contrôler le nombre de # que ça génère.

    Existe-t-il une option pour limiter le nombre de # en cas d'overflow (au sens anglais du terme et non au sens oracle qui te renvoie un overflow si tu met une goutte d'eau dans une piscine vide) ?

    D'avance merci pour votre aide

    Laurent

    D

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Vous pouvez augmenter la taille du masque dans le to_char :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select to_char(prct * 100, 'FM990D00') || '%' as m1,
           to_char(prct * 100, 'FM999999999999999999999990D00') || '%' as m2
      from (select 0.201 as prct from dual union all
            select 1030028309.33 from dual);
     
    M1		M2
    20,10%		20,10%
    #######%	103002830933,00%

  3. #3
    Invité
    Invité(e)
    Par défaut
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select   NVL (  CONCAT
      (
      to_char ( 
      987897
      *100,'999999999999999999999999999999999990D00')  ,  ' %'  )  ,''  ) as toto
    from dual ;

    [edit]Doublon ! Pris de vitesse !

Discussions similaires

  1. Petits problèmes avec une CListCtrl
    Par vanitom dans le forum MFC
    Réponses: 2
    Dernier message: 17/11/2005, 11h45
  2. Un petit problème avec pop
    Par Paulinho dans le forum C++
    Réponses: 4
    Dernier message: 13/11/2005, 20h57
  3. Petit problème avec Line Input
    Par GrosQuicK dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/09/2005, 12h47
  4. (Petit ?) problème avec une page contenant du Flash
    Par ologram dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 18h45
  5. Petit problème avec SDL
    Par Nyarlathotep dans le forum C
    Réponses: 10
    Dernier message: 01/07/2005, 09h10

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