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 :

Supprimer un formatage de champ en javascript(faite avec du php :number_format) pour calcul.


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Par défaut Supprimer un formatage de champ en javascript(faite avec du php :number_format) pour calcul.
    Bonjour,

    Je formate des champs dans un fichier php avant de les envoyer en réponse via une requête AJAX.

    En recevant la réponse, je dois faire un calcul sur ces mêmes champs dans une fonction de calcul de soustraction.
    mais le résultat m'affiche : NaN pour cause de formatage des valeurs.


    formatage coté php :fonction php de formatage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $montant_prevu=number_format($row_prev_mod['montant_prevu_compte'],0,'',' ' );
    je dispose d'une fonction de formatage en javascript que j'utilise pour l'annuler mais ça m'affiche un resultat totalement érroné aulieu de Nan.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function number_format( number, decimals, dec_point, thousands_sep ) {
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "," : dec_point;
    var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
    }
    Pour déactiver le formatage , j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var montant_prevu=number_format(Number(document.getElementById('Mtant_prevu').value),0,'','');
    mais ça m'affiche un résultat erroné.


    Comment je peux annuler correctement le formatage dans mon Javascript pour effectuer le calcul ?


    Merci de vos solutions.

    Cordialement.

  2. #2
    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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    isNaN(decimals = Math.abs(decimals)) ? 2 : decimals
    tu peux déjà faire la différence entre une affectation et une comparaison, ce qui te permettra d'obtenir le bon résultat pour cette instruction
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, 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
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Par défaut
    Bonjour,

    si j'ai formaté ces deux variables coté PHP :
    Le séparateur d'unités est de l'espace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $montant_prevu=number_format($row_prev_mod['montant_prevu_compte'],0,'',' ' );
     
    $montant_trimestre=number_format($row_prev_mod['montant_trimestre'],0,'',' ' );
    Et que je souhaite faire le calcul de soustraction en javascript sur ces deux variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    result=montant_prevu - montant_trimestre;
    Où je dois placer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    isNaN(decimals = Math.abs(decimals)) ? 2 : decimals
    pour effectuer le calcul ?

Discussions similaires

  1. [MySQL] Javascript mélangé avec du php ? cela devrait fonctionner non ?
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/10/2007, 18h01
  2. Pb de formatage de champs de type float
    Par FrankyNormand dans le forum XMLRAD
    Réponses: 9
    Dernier message: 05/05/2005, 12h37
  3. Formatage du champ heure
    Par SebCBien dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/01/2005, 18h42
  4. [struts] : modifier un champ en javascript
    Par richard_34b dans le forum Struts 1
    Réponses: 3
    Dernier message: 02/10/2004, 00h42
  5. [7RC3] Formatage de champs float
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 19/05/2003, 09h38

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