systemz Posté(e) 21 septembre 2013 Share Posté(e) 21 septembre 2013 Bonjour, J'essaie de formater des nombres pour les insérer dans une BDD avec le type "DOUBLE". Je veux qu'ils apparaissent avec 2 chiffres après la virgule. Ex : 1 = 1.00 Ex : 1.0 = 1.00 Ex : 12.565 = 12.56 Mais j'ai une erreur qui se trouve au niveau de la 4ème ligne : double amountDouble = 32.0; String amountDouble1 = new DecimalFormat("0.00").format(amountDouble); DecimalFormat decim = new DecimalFormat("0.00"); //Fonctionne bien Double price2 = Double.parseDouble(decim.format(amountDouble)); // Erreur ici Merci d'avance... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vbarthel Posté(e) 22 septembre 2013 Share Posté(e) 22 septembre 2013 Ok, je viens de tester à priori ceci devrait fonctionner. double amountDouble = 32.123; String amountDoubleFormated = new DecimalFormat("0.00").format(amountDouble); Double price = Double.valueOf(amountDoubleFormated); Mais je ne comprends pas bien une chose: Pourquoi ne pas stocker la valeur de ton double dans ta Bdd et ne le formater en un string avec deux décimales uniquement lorsque tu devras l'afficher ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 23 septembre 2013 Share Posté(e) 23 septembre 2013 +1 avec Vbarthel. Le stockage en base de données devrait être indépendant de la façon dont tu affiches ensuite ces données; donc stockage en base avec le type double, pas String @systemz : tu n'indiques pas quelle erreur se produit, difficile de te dire quel est le problème, mais je sens bien un problème lié à la Locale => ton double formaté avec le DecimalFormat doit ressembler à 32,00 (avec une ',' pour le séparateur décimal), et le parseDouble attend un '.' Ceci aurait sans doute mieux fonctionné (j'ai pas testé) Double price = decim.parse(decim.format(amountDouble)); Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.