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

avec Java Discussion :

Problème float java à float sql


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Points : 65
    Points
    65
    Par défaut Problème float java à float sql
    Bonjour,

    (Peut-être que je ne suis pas dans la bonne catégorie)

    Je récupère des données séparées par des ";" dans un fichier plat.
    Parmi ces données, j'ai un montant de la forme "99999,99"
    Je récupère cette donnée correctement via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String montant = newLine[4];
    Jusque là pas de souci. Par contre ce montant, je dois le mettre dans une table dont cette colonne est défini de type "Float", ce qui est normal.
    Mais voilà, (je passe par de l'hibernate 3) Le souci étant que le float en java est de la forme 99999.99 alors que le float en sql est de la forme 99999,99.
    Du coup, je me retrouve avec des erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.lang.NumberFormatException: For input string: "99999,99"
    J'ai essayé de récupérer la donnée et de la mettre directement en float :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    float montant = Float.parseFloat(newLine[4].replace(",", "."));
    ce qui me donne du float java "99999.99" mais qui n'est pas accepté pour ma requête car pas sous la forme float sql "99999,99".

    Le fichier de mapping défini "montant" comme étant du type "float".

    Avez vous une idée ?
    Merci d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par littlebear Voir le message
    (Peut-être que je ne suis pas dans la bonne catégorie)
    Bah, on va dire que tu mentionnes hibernate, donc bon...

    Citation Envoyé par littlebear Voir le message
    J'ai essayé de récupérer la donnée et de la mettre directement en float :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    float montant = Float.parseFloat(newLine[4].replace(",", "."));
    Je recommande plutôt ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // quelque part
    private static final NumberFormat floatFormat = NumberFormat.getInstance(Locale.FRANCE);
     
    // ailleurs
    float montant = floatFormat.parse(newLine[4]).floatValue();
    C'est moins "bricolage".


    Citation Envoyé par littlebear Voir le message
    ce qui me donne du float java "99999.99" mais qui n'est pas accepté pour ma requête car pas sous la forme float sql "99999,99".
    Euh, un float c'est un float, ce n'est pas écrit avec un point ou une virgule, c'est juste un nombre en mémoire.
    Et hibernate et JDBC sont censés se débrouiller avec le driver SQL pour utiliser le bon format en écrivant la requête. Tu dois forcément faire un truc pas net pour mapper ce montant.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/04/2007, 11h29
  2. java float arrondissement
    Par aliomrani1 dans le forum Langage
    Réponses: 2
    Dernier message: 14/02/2007, 16h05
  3. Problème avec les float
    Par sandytarit dans le forum Requêtes
    Réponses: 8
    Dernier message: 03/08/2006, 21h04
  4. [SQL SERV 2000]Problème sur champs Float
    Par Tankian dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 03/08/2006, 14h29
  5. [XHTML] problème avec les float:left
    Par glloq8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/11/2005, 17h15

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