Tronquer nombre de chiffre apres virgule [Résolu]

Messages postés
16
Date d'inscription
jeudi 20 octobre 2005
Statut
Membre
Dernière intervention
24 août 2006
- - Dernière réponse : yarkier
Messages postés
11
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
20 septembre 2010
- 20 sept. 2010 à 09:22
Bah voilà, j'ai float f = 12,45467464 et moi j'veux dans un String recupérer 12,45..

Ça fait déjà 1/2 heure que je cherche et ça commence à me prendre le chou de pas trouver ce truc qui doit être super simple

Merci pour votre aide, j'continue d'chercher
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
11
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
20 septembre 2010
2
1
Merci
Salut une autre solution toute simple est d'utilisé le type de variable int (qui tronque juste à la virgule) avec une petite variante) :


float i =1.2547896658; //ma variable à tronquer
int j= i*100; // autant de zéro de que nombre après la virgule voulu
i=j/100; //remettre le même nombre de zéro que précédemment

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 203 internautes nous ont dit merci ce mois-ci

Commenter la réponse de yarkier
Messages postés
40
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
8 septembre 2006
1
0
Merci
Le f est un float



public String conversion()

{

String a = ""+f+"";

a=a.substring(0,5);

return a;

}


On convertit le float en String et on ne conserve que les 5 premiers caractères.

Bon courage
Morphorpse
Commenter la réponse de morphorpse
Messages postés
16
Date d'inscription
jeudi 20 octobre 2005
Statut
Membre
Dernière intervention
24 août 2006
0
Merci
Merci
Commenter la réponse de mouzoun_issam
Messages postés
16
Date d'inscription
jeudi 20 octobre 2005
Statut
Membre
Dernière intervention
24 août 2006
0
Merci
Lle probleme si j'ai essaiyé de convertir le nombre en String je n'arrive pas!
Commenter la réponse de mouzoun_issam
Messages postés
368
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
2 décembre 2006
0
Merci
salut,
convertir un nombre en chaîne, rien de plus simple, pas de conversion :
String str = nombre + ""; // l'opérateur + permet de concaténer ... une chaîne "" avec tout objet.

pour le problème de Format de nombre decimal, il existe le classe
NumberFormat:

Number n = null;
NumberFormat formater3 =
new DecimalFormat( ".###" ); // défini nbNombres aprés le point ...## pour 2 ...
float f = 12.45467464f;
String str = formater3.format(f); // formatte
try {
n = formater3.parse(str); // relit le nombre éventuellement
}catch(ParseException pe) {
System.out.println("parse : " + pe);
}
A+
Commenter la réponse de jcodeunpeu
Messages postés
16
Date d'inscription
jeudi 20 octobre 2005
Statut
Membre
Dernière intervention
24 août 2006
0
Merci
Sayer j'ai trouver une solution:
float i=12.122257;
String amount = new Double(i).toString();
amount = amount.substring(0,5);
out.print(amount+"%");
Commenter la réponse de mouzoun_issam
Messages postés
81
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
7 juin 2012
0
Merci
Salut,
Personnellement je trouve un peu étrange de marquer "Réponse acceptée".


Si i vaut 1212.2257 alors amount= "1212."
Si i vaut 121222.57 alors amount="12122" (perte de donnée)

alors que la question posée est " tronquer nombre de chiffre apres virgule". La solution de [jcodeunpeu], new DecimalFormat(".###");  ne fonctionne pas chez moi.

La réponse que je propose :
   En ajoutant (import java.text.NumberFormat;)

  float f = 12.45467464f;
  NumberFormat Myformat = NumberFormat.getInstance();
  Myformat.setMinimumFractionDigits(2);       //Nb de Digit mini
  Myformat.setMaximumFractionDigits(2);       //Nb de Digit Maxi
  String str = Myformat.format(f);                      //Formatage str="12.45"

ANKOU22
Commenter la réponse de cs_ankou22