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

Langage Java Discussion :

remplacer la virgule pas un point dans un float


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Points : 54
    Points
    54
    Par défaut remplacer la virgule pas un point dans un float
    Salut,

    j'ai besoin d'afficher dans une jsp, des float ayant deux chiffres après la virgule.
    plutôt le séparateur doit être un point et non pas une virgule;
    Exemple : 5.30

    je traite ceci dans une action. c'est là où je dois construire mon float.

    Merci

  2. #2
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Transforme ton float en String :
    Puis remplace la virgule par un point :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    String t=".";
    StringTokenizer st = new StringTokenizer(s, ",", false);
    while (st.hasMoreElements())
    {
    	t += st.nextElement();
    }
    tu récupères un objet t de type String dont toutes les virgules sont remplacées par des points.

    Après, je sais pas trop ce que tu peux en faire, vu que du coup, tendu de le retransformer en String...

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 629
    Points : 15 801
    Points
    15 801
    Par défaut
    Je pense que la conversion en String suffit vu que le séparateur par défaut est bien le '.' il me semble.
    Si ce n'est pas le cas, je pense qu'un chaine.replace(',','.') serait plus simple qu'un StringTokenizer

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Uther Voir le message
    Je pense que la conversion en String suffit vu que le séparateur par défaut est bien le '.' il me semble
    +1

    Tu dois utiliser un outils de formatage qui prend en compte la locale de ton application (français?). Si c'est bien le cas tu dois spécifier précisément la locale que tu souhaire (US devrait correspondre à ton besoin).

    Citation Envoyé par Uther Voir le message
    si ce n'est pas le cas, je pense qu'un chaine.replace(',','.') serait plus simple qu'un StringTokenizer
    +1 aussi

    Et un Float.toString(monFloat) est bien plus simple et performant qu'une concaténation avec ""...


    a++

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Points : 54
    Points
    54
    Par défaut
    merci pour vos réponse.
    j'ai trouvé une solution à l'aide de la bibliothèque NumberFormat.

    NumberFormat Myformat = NumberFormat.getInstance(Locale.FRENCH);

    Myformat.setMinimumFractionDigits(2); //Nb de Digit mini
    Myformat.setMaximumFractionDigits(2); //Nb de Digit Maxi


    String sCharge0 = Myformat.format(fCharge0);

    (en précisant 'Locale.FRENCH' j'obtient le . comme séparateur).

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par midotoon Voir le message
    (en précisant 'Locale.FRENCH' j'obtient le . comme séparateur).
    Là je ne comprend plus rien : avec Locale.FRENCH tu devrais avoir une virgule

    a++

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

Discussions similaires

  1. remplacer une virgule par un point
    Par parano dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 10/02/2012, 17h12
  2. Réponses: 5
    Dernier message: 23/07/2009, 20h49
  3. Remplacer la virgule par un point
    Par lollo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/11/2008, 19h08
  4. Remplacer les virgules par des points
    Par vatsyayana dans le forum Excel
    Réponses: 7
    Dernier message: 14/06/2008, 12h13
  5. [sql] remplacer une virgule par un point
    Par shiners300 dans le forum Oracle
    Réponses: 1
    Dernier message: 23/12/2005, 20h19

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