Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ajouter le point dans un nombre

Sujet résolu
    11 juillet 2011 à 15:09:38

    Salut,

    voilà ma question, j'ai un variable qui contient un nombre ( Number(2000) ) et j'aimerais y ajouter le point des milliers pour obtenir 2.000

    Je sais qu'il existe une fonction en PHP pour le faire (même si je ne connais plu son nom) mais en existe t-il une pour le faire en Javascript ?

    Merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      11 juillet 2011 à 16:14:07

      Salut,

      il n'y a pas de méthode prédéfinie pour faire cela en JavaScript. Voici des pistes pour réaliser ce que tu veux :
      • Utilise la méthode toString() pour le transformer en string et pouvoir manipuler ton nombre.
      • Tu calcules le nombre de points nécessaires (division par 3 et floor).
      • Tu boucles et tu utilises substring en concaténant ta variable de sortie.

      Y a plus qu'a ;)
      • Partager sur Facebook
      • Partager sur Twitter
        11 juillet 2011 à 16:41:31

        Merci de ta réponse ;)

        J'ai trouvé ceci entre temps :

        function number_format(number, decimals, dec_point, thousands_sep)
        	{
        	    number = (number+'').replace(',', '').replace(' ', '');
        	    var n = !isFinite(+number) ? 0 : +number, 
        	        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        	        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        	        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        	        s = '',
        	        toFixedFix = function (n, prec) {
        	            var k = Math.pow(10, prec);
        	            return '' + Math.round(n * k) / k;
        	        };
        	    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
        	    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
        	    if (s[0].length > 3) {
        	        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
        	    }
        	    if ((s[1] || '').length < prec) {
        	        s[1] = s[1] || '';
        	        s[1] += new Array(prec - s[1].length + 1).join('0');
        	    }
        	    return s.join(dec);
        	}
        


        Si quelqu'un a mieux qu'il ne se gène pas pour le partager ;)
        • Partager sur Facebook
        • Partager sur Twitter
          11 juillet 2011 à 16:48:22

          C'est vrai que les regex marchent aussi, je pense pas a les utiliser parce que j'aime pas (et que j'arrive jamais a les faire marcher du premier coup :p )
          • Partager sur Facebook
          • Partager sur Twitter

          Ajouter le point dans un nombre

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown