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 :

Arrondis avec simpleCart.js


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2014
    Messages : 14
    Points : 18
    Points
    18
    Par défaut Arrondis avec simpleCart.js
    Bonjour.
    Je suis en train de créer un site de E-commerce pour un ami.
    J'ai téléchargé "simpleCart.js", que j'ai intégré dans une page HTM.
    Cela fonctionne bien si ce n'est que les prix affichés dans mon panier sont arrondis. (Expl : 4.20 = 4.00 / 13.75= 13.00 etc.).
    Toute assistance sera la bienvenue.
    Merci d'avance.

    produit2.htm

    simpleCart2.js

  2. #2
    Membre confirmé
    Avatar de Darkaurora
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 382
    Points : 549
    Points
    549
    Billets dans le blog
    1
    Par défaut
    Je ne sais pas si tu as écrit le fichier simpleCart2 à partir de la lib simpleCart mais si ce n'est pas le cas fait bien attention.

    Déjà j'ai constaté plusieurs anomalies avec leurs docs et de plus elle n'est vraiment pas bien fournis, mais elle a le mérite d’exister au moins.

    Ensuite prend bien garde à parseInt et parseFloat cf ceci : http://www.js-attitude.fr/2012/12/26...en-javascript/. Si tu es amené à souvent développer en JS tu seras content de le savoir croit moi.

    Maintenant en suivant les préceptes de l'article qui explique que parseInt et parseFloat sont juste bon à sucer des cailloux:

    De la ligne 653 à 677 de MON éditeur de texte tu as ça:

    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
     
    	this.checkQuantityAndPrice = function() {
    		if( this.quantity == null || this.quantity == 'undefined'){ 
    			this.quantity = 1;
    			error('No quantity for item.');
    		} else {
    			this.quantity = ("" + this.quantity).replace(/,*/gi, "" );
    			this.quantity = parseInt( ("" + this.quantity).replace( /[^(\d|\.)]*/gi, "") ); 
    			if( isNaN(this.quantity) ){
    				error('Quantity is not a number.');
    				this.quantity = 1;
    			}
    		}
     
    		if( this.price == null || this.price == 'undefined'){
    			this.price=0.00;
    			error('No price for item or price not properly formatted.');
    		} else {
    			this.price = ("" + this.price).replace(/,*/gi, "" );
    			this.price = parseInt( ("" + this.price).replace( /[^(\d|\.)]*/gi, "") ); 
    			if( isNaN(this.price) ){
    				error('Price is not a number.');
    				this.price = 0.00;
    			}
    		}
    	}
    Note bien le parseInt vulgairement mis sur l'attribut price... bref remplace par ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.price = Number( ("" + this.price).replace( /[^(\d|\.)]*/gi, "") );
    Ou encore:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.price = +( ("" + this.price).replace( /[^(\d|\.)]*/gi, "") );
    ça a résolut le problème de mon côté.
    Je préfère fermer ma gueule et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2014
    Messages : 14
    Points : 18
    Points
    18
    Par défaut
    Merci Darkaurora pour ta rapidité et ton efficacité.
    Pour moi l'affaire est résolue, vite fait bien fait.
    Cordialement.

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

Discussions similaires

  1. [C++.NET] Comment résoudre un problème d'arrondi avec Single ?
    Par KaeRZed dans le forum Framework .NET
    Réponses: 7
    Dernier message: 18/09/2007, 09h08
  2. Faire un arrondi avec Firebird
    Par bigourson dans le forum Débuter
    Réponses: 8
    Dernier message: 01/06/2006, 11h38
  3. Région avec extrémité arrondis avec HTML
    Par icetechnik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/09/2005, 15h38
  4. [SQL server] Décimal arrondi avec STR
    Par Cyrilange dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/08/2005, 19h13
  5. arrondi avec type double
    Par la drogue c'est mal dans le forum MFC
    Réponses: 6
    Dernier message: 08/04/2005, 17h51

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