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 :

Formattage d'un nombre


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Formattage d'un nombre
    Bonjour,


    J'essayes de transformer une chaîne de caractère en format nombre mais je n'arrive pas à obtenir le formattage souhaité.

    En effet le montant à transdormer est un montant de type "0,12" et j'obtiens pour résultat ",12". Je tiens absolument à mon affichage avec le 0.

    J'ai tenté plusierus déclinaison du formattage de la fonction TO_NUMBER mais rien qui correspond pour le moment ....

    Merci d'avance de votre aide

  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 814
    Points
    17 814
    Par défaut
    C'est confus.
    Si vous voulez modifier la représentation d'un nombre - .12 étant un nombre parfaitement valide - vous transformez justement votre nombre en chaîne de caractères.

    Si vous avez une chaîne de caractères qui vaut '0,12', et bien vous n'avez rien à faire.

  3. #3
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Citation Envoyé par voilalesoleil Voir le message
    En effet le montant à transdormer est un montant de type "0,12" et j'obtiens pour résultat ",12". Je tiens absolument à mon affichage avec le 0.
    Ce n'est un un problème de to_number, mais l'inverse: le format d'affichage du nombre. Et ça ça dépend du client. Sous sqlplus, on peut le modifier avec COLUMN ... FORMAT ...
    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour votre aide et donc je vais essayer d'être plus clair ...

    Situation de la base :
    J'ai une base de donnée existante peuplée.
    Actuellement la colonne que je cible a un format défini à number. Je peux à priori pas changer le format de cette colonne car il faudrait vider la table ou au moins la colonne.

    Situation des entrants :
    Je récupère d'une JSP une chaîne de caractère que je dois transformer en nombre dans un traitement PL/SQL afin de stocker son nombre en base.
    Ce nombre sera ensuite de nouveau injecté à une chaîne de caractère pour affichage dans des logs (je ne peux pas modifier ce traitement).

    Exemple :
    Un utilisateur saisi un ratio de 0,15 dans ma JSP.
    Lorsque je transforme cette chaîne de caractère en nombre j'obtiens ,15. Et c'est ce ,15 qui repart dans les logs. Ma MOA déteste ce ,15 et souhaite voir apparaître dans les logs un beau 0,15.

    Conclusion :
    J'y arrive pas ...

    J'espère juste avoir été plus clair dans ma question.

    Merci à vous

  5. #5
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par voilalesoleil Voir le message
    ...
    Lorsque je transforme cette chaîne de caractère en nombre j'obtiens ,15. ...
    Utilisez un format explicite dans la fonction to_char.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Utilisez un format explicite dans la fonction to_char.
    Mais je veux transformer une chaîne en nombre, pas l'inverse. Ensuite ce nombre est récupéré et injecté dans une chaîne.

  7. #7
    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 814
    Points
    17 814
    Par défaut
    Citation Envoyé par voilalesoleil Voir le message
    Ce nombre sera ensuite de nouveau injecté à une chaîne de caractère pour affichage dans des logs (je ne peux pas modifier ce traitement).
    Et c'est pourtant ce traitement qui doit être modifié.

    Expliquez à la MOA que ce n'est pas de votre ressort et qu'ils s'adressent à qui de droit pour effectuer la correction.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    En conclusion, c'est impossible de le faire tel que souhaité au départ.

    Merci pour vos réponses.

  9. #9
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Un nombre n’a pas de format ; comme tout type des données il a une représentation interne (ce qui est non relevant pour la suite de notre discussion).
    Donc vous ne pouvez appliquer un format aux nombres que lors des transformations vers/depuis des chaines des caractères.
    Vers signifie : ce nombre doit être transformé en chaine des caractères en suivant le format l’indiqué.
    Depuis : la chaine des caractères représente une valeur numérique si elle est interprétée en prenant en compte le format fourni.

Discussions similaires

  1. [Excel] Formattage des nombres avec PHPExcel !
    Par gentyjp dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/10/2007, 03h00
  2. Formattage d'un nombre
    Par Harold_le_Rouge dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/09/2007, 23h46
  3. Formattage de l'heure et du nombre décimal
    Par hmd01 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 25/02/2007, 18h14
  4. Formattage d'un nombre
    Par Seth77 dans le forum C#
    Réponses: 1
    Dernier message: 19/02/2007, 17h36
  5. Problème de formattage de nombres
    Par soso78 dans le forum Access
    Réponses: 2
    Dernier message: 29/06/2006, 13h35

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