[java] problème de décimales

Maude -  
 java4ever -
Bonjour,

Je suis débutante en java et j'ai écrit un petit programme qui calcule un prixttc à partir des données entrées par l'utilisateur.
Quand je lance mon programme et que je tape par exemple 100.05, j'ai une erreur. Par contre quand je tape 100 ou 100,05 ca va ...

Vous pourriez me dire ce qui ne va pas ?

merci
A voir également:

7 réponses

java4ever
 
Bonjour Maude,

On peut voir le bout de programme? même si en mode brouillard je pencherai pour un problème de locale (qui est effectivement lié, comme le dit chuka aux paramètres régioannaux de Windows, mais ce n'est pas comme ça qu'il faut le résoudre. Je pourrais t'en dire plus en voyant le code
A plus
1
java4ever
 
Pas de doute, c'est juste un problème de locale.
En fait java interprète les chaînes en nombre en fonction de la Locale par défaut, qui est effectivement récupérée des paramètres systèmes (dans Windows, ce sont les options régionales).

Pour ne pas avoir à changer ça, il te suffit, dans ton code, juste après la ligne Scanner saisie = new Scanner(
ajoute cette ligne :
saisie.useLocale(Locale.ENGLISH);

N'oublie pas, en début de fichier, de rajouter l'import :
import java.util.Locale;
à toi de jouer !
1
Maude
 
Ce ne serait pas dans les préférences d'eclipse, des fois ?
Mais où ?
0
chuka Messages postés 980 Statut Membre 378
 
Salut,
Peux-etre les parametres regionaux windows.....
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Maude
 
import java.util.Scanner;


public class CalculTva {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		
		
		Scanner saisie = new Scanner(System.in);
		
		System.out.println("Bienvenue dans mon programme de calcul de la TVA.");
		System.out.println("\n-------------------------------------------------");
		System.out.println("Veuillez saisir le montant hors TVA :");
		double prixHtva = saisie.nextDouble();
		System.out.println("Veuillez saisir le taux de TVA :");
		double taux = saisie.nextDouble();
		double prixTTC = (prixHtva * taux)/100 + prixHtva;
		System.out.println("Le montant TVAc est de : " + prixTTC);
		System.out.println("Merci pour votre participation.");
		
		

	}

}


Vloila et merci

ps: vous avez certainement raison car quand je tape un point dans excel, il le remplace par une virgule.
0
Maude
 
Merci ca marche.
0
java4ever
 
Impec, n'oublie pas de marquer comme résolu la discussion
0