Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/01/2012, 20h22   #1
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
Par défaut code imprécis calcul TVA

Bonjour,

je suis un tout petit amateur et j'ai réussis a mettre en place un petit bout de code
qui permet de calcul le Hors taxe et le montant de la tva a partir d'un montant TTC .

mais cela reste imprécis dans le resultat.

quand je renseigne 500 en TTC
il me sort comme resultat 98 de TVA et 402 en HT

alors que le bon resultat est 81,94 de TVA et 418,06 en HT.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
<html>
<head>
<title>Formulaire web de calcul de TVA</title>
<script type="text/javascript">
function calc_tva()
{
	calcul.tva.value = 0.196*calcul.ttc.value;
	calcul.ht.value = calcul.ttc.value-calcul.tva.value;
}
</script>
</head>
<body>
<form name="calcul">
<label> Entrez le prix TTC de l'article</label>
<input name="ttc" type="text" value="" size="70" maxlength="50" tabindex="1"><br>
<label>HT</label>
<input name="ht" type="text" size="4" maxlength="50" value="0" readonly tabindex="3"><br>
<label>TVA</label>
 
<input name="tva" type="text" size="4" maxlength="50" value="0" readonly tabindex="2"><br>
<br>
<input type="button" value="Calculer" onClick="calc_tva();">
<input type="reset" value="Réintialisation" onClick="calcul.ttc.focus();">
</form>
</body>
</html>
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 21h25   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 776
Points : 4 776
Bonsoir,
il est coutume de dire que le bug se situe entre la chaise et le clavier

Reprenons
prix TTC = prix HT + TVA
avec
TVA = (prix HT * taux TVA)
et toi tu écris
TVA = (prix TTC * taux TVA)
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 21h35   #3
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 872
Points : 1 381
Points : 1 381
Citation:
quand je renseigne 500 en TTC
il me sort comme resultat 98 de TVA et 402 en HT

alors que le bon resultat est 81,94 de TVA et 418,06 en HT.
heu ....
500 * 0.196 est bien égal à 98 et non pas 81,94


edit: le problème n'est pas un problème de javascript mais un problème élémentaire de math :

418.06 * 1.196 = 500

500 / 1.196 = 418.06
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 08h12   #4
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
effectivement le bug se situé bien entre la chaise et le clavier.


j'ai une deux autres questions

la première

j'ai des résultats avec trop de chiffre après le point style

tva = 418.154875465


comment je vais faire pour inséré dans ma table uniquement les 418.15 dont j'ai besoin ?

et comment je vais faire quand ma tva sera de 3850.78

existe-il un paramétrage pour inséré tous les chiffres+ les deux se trouvent derrière la virgule ou le point ?


la seconde


en entrant mes 500 € TTC j'ai ce resultat ci

TVA = 81.93979933110364

HT = 418.06020066889636

n'est-il pas possible d'arrondir ce qui répondrais en même temps a ma première question.

d'avoir comme resultat plutôt


TVA = 81.90

HT = 418.10
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 08h27   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
il y a pourtant assez de posts sur les arrondis
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 08h47   #6
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
j'ai trouver ça mais je ne sais trop comment l'adapter
sans compter qu'il me faut arrondir au dessus a partir d'une certaine donnée et baisser de l'autre coté.

exemple

Ht = 12.96454154 il me faut obtenir le resultat de 13

et pour ma tva

Tva 5,044545454 il me faut au contraire l'arrondir vers le bas 5


Code :
var prixTotal = Math.round(prix1*100 + prix2*100)/100;
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 10h53   #7
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 872
Points : 1 381
Points : 1 381
Code :
1
2
Math.round(12.96454154); // == 13
Math.round(5,044545454); // == 5
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 12h15   #8
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
quand j'entre le montant TTC et que je click calculer

il apparait la TVA et montant hors taxe dans une input.

comment je doit utilisé "Math.round" pour faire en sorte
que dans mes inputs il apparaissent le résultat arrondis ?
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 12h57   #9
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 872
Points : 1 381
Points : 1 381
Code :
1
2
calcul.ht.value = Math.round(calcul.ttc.value / 1.196);
calcul.tva.value = Math.round(calcul.ttc.value - calcul.ht.value);
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 18h02   #10
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
Merci cela fonctionne très bien , mais cela arrondis apparemment de trop selon le comptable.


au lieu d'arrondir est ce que l'on peut presenter un resultat avec deux chiffres après la virgule au lieu des 7 ou 8 ?
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 18h09   #11
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 872
Points : 1 381
Points : 1 381
2 chiffres arrondis :

Code :
1
2
calcul.ht.value = Math.round(calcul.ttc.value / 1.196 *100) /100;
calcul.tva.value = Math.round((calcul.ttc.value-calcul.ht.value) *100) /100;
2 chiffres tronqués:

Code :
1
2
calcul.ht.value = Math.floor(calcul.ttc.value / 1.196 *100) /100;
calcul.tva.value = Math.floor((calcul.ttc.value-calcul.ht.value) *100) /100;
exemples de arrondis :

1.769 => 1.77
1.763 => 1.76

exemples de tronqués :

1.769 => 1.76
1.763 => 1.76
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 18h21   #12
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 18h57   #13
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h15.


 
 
 
 
Partenaires

Hébergement Web