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 :

Formater un nombre avec des séparateurs de milliers


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Août 2006
    Messages : 40
    Points : 43
    Points
    43
    Par défaut Formater un nombre avec des séparateurs de milliers
    Bonjour,

    J'obtiens dans un champs input le le nombre 121121 et j'aimerai le transformer en javascript en 121 121 tout simplement.

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    voici un exemple :
    Code html : 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function testChaine()
    {
     var valeur = document.getElementById("idText").value;
     var i, j, chaine, c, deb, fin, mantisse;
     
     //on ne formate pas la partie decimale
     fin = valeur.indexOf(".");     //recherche du point (notation anglo-saxone)
     if (fin<0)
        fin = valeur.indexOf(",");  //ou recherche de la virgule
     
     if (fin<0)
        fin = valeur.length;      //si pas . ou , on formate toute la chaine
     else
        mantisse = valeur.substring(fin, valeur.length);
     
     fin = fin-1;
     
     //on vérife que la valeur ne soit pas négative
     deb = valeur.indexOf("-");
     deb = deb + 1;
     
     //on formate la chaine
     chaine = "";
     
     for (i=fin, j=0; i>=deb; i--, j++)
     {
        c = valeur.charAt(i);
     
        if (j%3==0 && j!=0)           //on ajoute un espace tous les 3 caracteres
            chaine = c + " " +chaine;
        else
            chaine = c + chaine;
     }
     
     
     //rajout du signe - si necessaire
     if (deb==1)
        chaine = "-"+chaine;
     
     //rajout de la mantisse
     if (fin>=0)
        chaine = chaine+mantisse;
     
     document.getElementById("res").innerHTML = chaine;
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <div>
      <input type="button" value="Bouton" onclick="testChaine()">
      <input type="text" id="idText" size="50">
      <br />
      <div id="res"></div>
    </div>
     
    </body>
     
    </html>

    Cela suppose également que la valeur entrée soit un nombre (positif ou négatif, décimal ou entier), sinon le script plante.

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/01/2012, 22h14
  2. formater un nombre avec des zeros à gauche
    Par roger789 dans le forum Débuter
    Réponses: 0
    Dernier message: 18/04/2011, 22h32
  3. Réponses: 8
    Dernier message: 27/10/2008, 16h52
  4. Réponses: 9
    Dernier message: 09/04/2008, 18h30
  5. [Format]nombres avec des 0
    Par zozolh2 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 01/06/2004, 08h43

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