HTML / Javascript

Résolu
Wilfou Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   -  
Wilfou Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Débutant dans le javascript, je dois créer un petit truc de conversion tout simple :

<html>
	<head>
		<script type="text/javascript">
			function Afficher()
			{
				HT = document.forms['form1'].HT.value
				TVA = document.forms['form1'].TVA.value
				TTC = HT + HT * TVA / 100
				
				message = "Prix H.T. : " + HT + "\n"
				message = message + "Taux T.V.A. : " + TVA + "\n"
				message = message + "Prix T.T.C. : " + TTC + "\n"
				
				alert(message)
			}
		</script>
	</head>
	
	<body>
		<form method="POST" name="form1">
			Prix H.T. : <input name="HT"/><br/>
			Taux T.V.A. : <input name="TVA"/><br/>
		
			<input type="button" value="Afficher" onClick="Afficher()"/>
		</form>
	</body>
</html>


mais je rencontre un problème lors de l'opération principale : au lieu de m'additionner le "HT" avec le "HT * TVA / 100", il me les met cote à cote ...

Est-ce que quelqu'un pourrait m'aider à résoudre mon problème ?

Merci

A voir également:

4 réponses

Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
il doti considerer que c'est des chaines de caractère....

essayes ca:

parseInt() permet de convertir une variable en nombre
parseFloat() permet de convertir une variable en nombre décimal
1
Wilfou Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   10
 
et comment on utilise ces fonctions ?
0
Wilfou Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   10
 
j'ai trouvé un petit truc ^^
https://www.commentcamarche.net/contents/588-javascript-les-variables#parseint
0
Stouffi Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   40
 
Salut,

Ton erreur viens du fait que lors de l'affichage de message, la variable TTC est considérée comme de type String (chaîne de caractères) et non pas comme numerique.
Tu dois forcer le type de ta variable soit en plaçant des parenthèses autour de ton opération, soit en utiliant la fonction parseInt(string);
1
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
Je sais, pas, a tout hasarre en mettant ce qui foire entre parentheses (ou en demandant a ton ami google):


TTC = parsefloat(HT) + parsefloat(HT * TVA / 100)
0
Wilfou Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   10
 
merci à vous 2, problème résolu ^^

la formule a tapé est donc :

TTC = parseInt(HT) + HT * TVA / 100


et ça marche.

dire que ça fait 3h que j'essaye de bidouiller ... ^^
0