2011-01-27 24 views
8

Así que tienen un valor en Javascript:Colocar comas en números enteros Javascript

var val = Entry.val; 

Un ejemplo de este valor es 277385. ¿Cómo puedo, en Javascript, convertir este número a 277,385, así como a cualquier número para que tenga comas en los lugares correctos?

Respuesta

5

Esto debe hacerlo por usted:

Función:

function addCommas(nStr) 
    { 
     nStr += ''; 
     x = nStr.split('.'); 
     x1 = x[0]; 
     x2 = x.length > 1 ? '.' + x[1] : ''; 
     var rgx = /(\d+)(\d{3})/; 
     while (rgx.test(x1)) { 
      x1 = x1.replace(rgx, '$1' + ',' + '$2'); 
     } 
     return x1 + x2; 
    } 

Uso:

addCommas(1000) 
// 1,000 

addCommas(1231.897243) 
// 1,231.897243 

Gracias a mredjk.com

+0

Eres el hombre. – slandau

+0

golpeado por 30 segundos :) – Raynos

+0

Me ganaste exactamente la misma función. Esa fue la primera respuesta que surgió en Google. – Joel

9
function addCommas(nStr) 
{ 
    nStr += ''; 
    x = nStr.split('.'); 
    x1 = x[0]; 
    x2 = x.length > 1 ? '.' + x[1] : ''; 
    var rgx = /(\d+)(\d{3})/; 
    while (rgx.test(x1)) { 
     x1 = x1.replace(rgx, '$1' + ',' + '$2'); 
    } 
    return x1 + x2; 
} 

a través de here.

+3

+1 por agregar el enlace de regreso a la fuente (aunque es de dominio público) ;-) –

2
val.replace(/(\d{1,3})(?=(?:\d{3})+$)/g,"$1,") 

:-)

1

no estoy seguro de por qué las otras respuestas se dividieron el número decimal en un punto- puede reemplazar, a partir de un dígito, hasta que no hay más dígitos. Se cerrará cuando se quede sin dígitos o llegue a un dígito no.

function addCommas(n){ 
    var rx= /(\d+)(\d{3})/; 
    return String(n).replace(/^\d+/, function(w){ 
     while(rx.test(w)) w= w.replace(rx,'$1,$2'); 
     return w; 
    }); 
} 
Cuestiones relacionadas