Tronquer nombre de chiffre apres virgule [Résolu]

mouzoun_issam 16 Messages postés jeudi 20 octobre 2005Date d'inscription 24 août 2006 Dernière intervention - 19 déc. 2005 à 14:06 - Dernière réponse : yarkier 11 Messages postés mercredi 25 mars 2009Date d'inscription 20 septembre 2010 Dernière intervention
- 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

Répondre au sujet
morphorpse 40 Messages postés vendredi 26 août 2005Date d'inscription 8 septembre 2006 Dernière intervention - 19 déc. 2005 à 14:18
0
Utile
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
mouzoun_issam 16 Messages postés jeudi 20 octobre 2005Date d'inscription 24 août 2006 Dernière intervention - 19 déc. 2005 à 14:36
0
Utile
Merci
Commenter la réponse de mouzoun_issam
mouzoun_issam 16 Messages postés jeudi 20 octobre 2005Date d'inscription 24 août 2006 Dernière intervention - 19 déc. 2005 à 14:45
0
Utile
Lle probleme si j'ai essaiyé de convertir le nombre en String je n'arrive pas!
Commenter la réponse de mouzoun_issam
jcodeunpeu 368 Messages postés mercredi 9 novembre 2005Date d'inscription 2 décembre 2006 Dernière intervention - 19 déc. 2005 à 15:28
0
Utile
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
mouzoun_issam 16 Messages postés jeudi 20 octobre 2005Date d'inscription 24 août 2006 Dernière intervention - 19 déc. 2005 à 16:31
0
Utile
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
cs_ankou22 81 Messages postés vendredi 3 novembre 2000Date d'inscription 7 juin 2012 Dernière intervention - 22 mai 2007 à 15:29
0
Utile
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
yarkier 11 Messages postés mercredi 25 mars 2009Date d'inscription 20 septembre 2010 Dernière intervention - 20 sept. 2010 à 09:22
0
Utile
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
Commenter la réponse de yarkier

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.