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 :

changer de séparateur décimal


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut changer de séparateur décimal
    bonjour,

    je voudrais modifier mon séparateur décimal actuellement c'est un point "." qui est utilisé et je voudrais utiliser une virgule(qui est apparemment le standard français),

    il y a un code qui me parait simple que j'ai utilisé comme base à l'adresse ;
    http://return erreur 404


    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
     
    function format(valeur,decimal,separateur) {
    // formate un chiffre avec 'decimal' chiffres après la virgule et un separateur
    	var deci=Math.round( Math.pow(10,decimal)*(Math.abs(valeur)-Math.floor(Math.abs(valeur)))) ; 
    	var val=Math.floor(Math.abs(valeur));
    	if ((decimal==0)||(deci==Math.pow(10,decimal))) {val=Math.floor(Math.abs(valeur)); deci=0;}
    	var val_format=val+"";
    	var nb=val_format.length;
    	for (var i=1;i<4;i++) {
    		if (val>=Math.pow(10,(3*i))) {
    			val_format=val_format.substring(0,nb-(3*i))+separateur+val_format.substring(nb-(3*i));
    		}
    	}
    	if (decimal>0) {
    		var decim=""; 
    		for (var j=0;j<(decimal-deci.toString().length);j++) {decim+="0";}
    		deci=decim+deci.toString();
    		val_format=val_format+"."+deci;
    	}
    	if (parseFloat(valeur)<0) {val_format="-"+val_format;}
    	return val_format;
    }
    quelq'un a une idée svp?

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    bonjour

    tout d'abord si tu changes le point par une virgule c'est que tu changes un nombre en chaîne (c'est juste pour qu'on soit sur la meme longueur d'onde )

    ensuite, il y a plus simple si c'est juste histoire de remplacer le . par une ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function virgule(nombre,sepdec)
    {
      var chaine = ''+nombre;
      return chaine.replace('.',',');
    }

  3. #3
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    oui peut être en passant par un toString() si cela ne focntionne pas comme escompté ? ...
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  4. #4
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut changer de séparateur décimal
    cela voudrait-il dire que le navigateur utilise le point comme séparateur décimal par défaut ?
    si c'est le cas, comment puis je alors le changer ?

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Citation Envoyé par paolo2002 Voir le message
    cela voudrait-il dire que le navigateur utilise le point comme séparateur décimal par défaut ?
    si c'est le cas, comment puis je alors le changer ?
    quel que soit le langage le séparateur décimal est le point et les chiffres sont tous "collés" (pas de séparateur de milliers). ça c'est pour la représentation des nombres.

    changer un séparateur n'a de sens que pour la représentation sous forme de chaîne de caractères du nombre en question. tu peux d'ailleurs constater que le val_format de ta fonction initiale n'est pas un nombre, mais une chaine de caractères.

  6. #6
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut changer de séparateur décimal
    pour repondre à bigboomshakala,
    je dois donc faire le contraire, cad changé une chaine en nombre puisque l'utilisateur saisie une chaine.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function nombreEnChaine(maChaine){
    var chaine = maChaine.replace(',','.');
    var nombre= parseFloat(chaine);
      return nombre;
    }

    cela ressemble à quelque chose ça ?!!

  7. #7
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    oui tout à fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function nombreEnChaine(maChaine){
      return parseFloat(maChaine.replace(',','.'));
    }

  8. #8
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut changer de séparateur décimal
    ok, ça marche merci à tous pour votre aide!

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

Discussions similaires

  1. Changer le séparateur décimal
    Par amirasams dans le forum Débuter
    Réponses: 1
    Dernier message: 13/02/2012, 10h22
  2. Changer le séparateur décimal
    Par Jihane75 dans le forum Développement
    Réponses: 1
    Dernier message: 11/02/2011, 16h27
  3. [LabVIEW 8.0] Changer le séparateur décimal
    Par RomainD2 dans le forum LabVIEW
    Réponses: 9
    Dernier message: 11/05/2009, 16h57
  4. TABULATE changer séparateur décimale
    Par fafabzh6 dans le forum ODS et reporting
    Réponses: 4
    Dernier message: 18/07/2008, 15h40
  5. [CR8.5][Oracle8] Séparateur décimal ignoré
    Par chrilie73 dans le forum SAP Crystal Reports
    Réponses: 9
    Dernier message: 06/06/2005, 18h31

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