HTML / Javascript

Résolu/Fermé
Wilfou Messages postés 101 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 3 janvier 2014 - Modifié par Wilfou le 9/09/2010 à 16:03
Wilfou Messages postés 101 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 3 janvier 2014 - 9 sept. 2010 à 16:13
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 mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
9 sept. 2010 à 16:06
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 dimanche 4 avril 2010 Statut Membre Dernière intervention 3 janvier 2014 10
9 sept. 2010 à 16:07
et comment on utilise ces fonctions ?
0
Wilfou Messages postés 101 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 3 janvier 2014 10
9 sept. 2010 à 16:09
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 mercredi 8 septembre 2010 Statut Membre Dernière intervention 8 janvier 2011 40
9 sept. 2010 à 16:07
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 mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
9 sept. 2010 à 16:12
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 dimanche 4 avril 2010 Statut Membre Dernière intervention 3 janvier 2014 10
9 sept. 2010 à 16:13
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