Title résume bien mes besoins.
123456789 => 123,456,789
12345 => 12,345
Quel est le meilleur moyen d'obtenir cette conversion? Ne suggérez pas de canal monétaire dans Angular-2 car je n'ai pas besoin de $ ni de symbole monétaire pour être ajouté à ma sortie.
Utilisez DecimalPipe comme ceci
{{attr | number}}
Documentation disponible sur https://angular.io/api/common/DecimalPipe
function printNo() {
document.getElementById('text').innerHTML =
Number(1234355).toLocaleString('en-GB');
}
<!DOCTYPE html>
<html>
<head></head>
<body onload="printNo()">
<h1 id="text"></h1>
</body>
</html>
Sans utiliser de tuyaux, un moyen simple de répondre à votre question avec javascript:
var str = "The quick brown fox jumps over the lazy dogs.".replace(/(.{2})/g,"$1,");
Et cela produira Th,e ,qu,ic,k ,br,ow,n ,fo,x ,ju,mp,s ,ov,er, t,he, l,az,y ,do,gs,.
Mais je pense que vous avez mal formulé votre question, alors, si vous voulez analyser des nombres, vous devriez utiliser cette fonction:
function numberWithCommas(x) {
var parts = x.toString().split(".");
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
return parts.join(".");
}
Alors
var num = numberWithCommas(1234567);
console.log(num);
Cela produira 1,234,567