IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

code imprécis calcul TVA


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 060
    Points : 44 585
    Points
    44 585
    Par défaut
    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)

  3. #3
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    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

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    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

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    il y a pourtant assez de posts sur les arrondis

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    var prixTotal = Math.round(prix1*100 + prix2*100)/100;

  7. #7
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Math.round(12.96454154); // == 13
    Math.round(5,044545454); // == 5

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    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 ?

  9. #9
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    calcul.ht.value = Math.round(calcul.ttc.value / 1.196);
    calcul.tva.value = Math.round(calcul.ttc.value - calcul.ht.value);

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    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 ?

  11. #11
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    2 chiffres arrondis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut

  13. #13
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul tva avec JavaScript
    Par chexna dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/01/2017, 21h25
  2. Lenteur de codes de calcul
    Par uriotcea dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 27/03/2006, 09h54
  3. comment optimiser son code en calcul ???
    Par gronaze dans le forum C
    Réponses: 5
    Dernier message: 21/03/2006, 10h41
  4. Modifier un champs texte avec une fonction PHP (calcul TVA)
    Par Stella2809 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 00h55
  5. Réponses: 2
    Dernier message: 01/04/2003, 22h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo