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

SQL Procédural MySQL Discussion :

Formatage des nombres à l'affichage


Sujet :

SQL Procédural MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 39
    Points : 48
    Points
    48
    Par défaut Formatage des nombres à l'affichage
    Pas moyen de trouver une instruction pour afficher par exemple 1234 (le champ est defini comme decimal(12,2)) sous la forme 1234.00.
    J'obtiens:
    round(1234,2) 1234
    1234*1.00 1234
    il ya bien format(1234,2) mais
    - le résultat est traité comme une chaine et donc justifié à gauche
    - le format d'affichage est anglo saxon donc j'obtiens 1,234.00 je voudrais un format français: 1 234.00 (comme défini dans mes paramètres régionaux) et aligné à droite pour les colonnes de chiffres

    Merci d'avance

    Nicolas

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Tu tiens absolument à formater dans MySql ? Sinon dans PHP tu as plusieurs fonctions qui feraient l'affaire format_number() ou sprintf().

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 39
    Points : 48
    Points
    48
    Par défaut
    Oui. Je n'utilise pas PHP. En fait ma requête est envoyée par un prog C++ vers une base MySQL. J'ai des possibilités de formater l'affichage au niveau du prog mais ça me ferait gagner pas mal de temps si une instruction me permettait d'avoir la réponse directement formatée.

    Nicolas

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Et bien, je ne pense pas que ce soit possible de changer le formatage des nombres sans passer par des manipulations de chaînes. Ceci te donnera déjà le format 1 234,56 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT REPLACE(REPLACE(FORMAT(ton_nombre,2),',',' '),'.',',')
    FROM ta_table
    Bon, ce n'est pas aligné à droite, peut-être qu'avec la fonction lpad() en caractères non-proportionnels ? Comme ceci (un peu tordu mais ça marche):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT LPAD(REPLACE(REPLACE(FORMAT(ton_nombre,2),',',' '),'.',','),15,' ') AS NombreFr
    FROM ta_table
     
    +--------------+
    | NombreFr     |
    +--------------+
    |     1 234,56 |
    +--------------+

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

Discussions similaires

  1. Formatage des nombres
    Par od.dev dans le forum Langage
    Réponses: 4
    Dernier message: 09/04/2008, 18h40
  2. Formatage des nombres (Separateurs)
    Par Mysti¢ dans le forum Général Python
    Réponses: 2
    Dernier message: 31/03/2008, 10h18
  3. Formatage des nombres
    Par webrider dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/08/2007, 09h59
  4. formatage des nombres hexas (pading?)
    Par bulki dans le forum C
    Réponses: 1
    Dernier message: 10/05/2007, 07h20
  5. Du formatage des nombres
    Par MiJack dans le forum Delphi
    Réponses: 9
    Dernier message: 29/08/2006, 16h34

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