[java] problème de décimales
Maude
-
java4ever -
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
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:
- [java] problème de décimales
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
7 réponses
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
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
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 !
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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionimport 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.