Foros del Web » Programando para Internet » Javascript »

Formato numerico de un text con miles y decimales

Estas en el tema de Formato numerico de un text con miles y decimales en el foro de Javascript en Foros del Web. Quisiera una función javascript que en el onchange del text cambie el contenido del cuadro del texto, de la siguiente forma: -Poner miles con un ...
  #1 (permalink)  
Antiguo 28/05/2004, 11:14
 
Fecha de Ingreso: octubre-2003
Mensajes: 32
Antigüedad: 20 años, 6 meses
Puntos: 0
Formato numerico de un text con miles y decimales

Quisiera una función javascript que en el onchange del text cambie el contenido del cuadro del texto, de la siguiente forma:
-Poner miles con un punto, nunca se pondra con punto, y cambiar el punto o coma decimal si existe por coma.

Es decir : 10000.25 o 10000,25 a 10.000,25

Tambien quisiera en javascript hacerlo al reves para guardar en formato mysql, es decir 5.000.145,5145 que tenemos mostrado a 5000145.5145, el punto o coma me es indiferente aqui.

Las funciones deben ser Javascript, existen ya o hay un codigo que lo haha, muchas gracias
  #2 (permalink)  
Antiguo 28/05/2004, 13:28
 
Fecha de Ingreso: octubre-2003
Ubicación: Hermosillo, Sonora
Mensajes: 75
Antigüedad: 20 años, 7 meses
Puntos: 0
Con esta funcion puedes cambiar el punto por coma, como lo deseas, mandas llamar a la función en el KeyUp, caracter(this), y te va a cambiar el punto por coma, cada punto, es decir no valida que no se repitan eso te lo dejo a tí.

function caracter(objValor)
{
var intCount = objValor.value.indexOf (".", 0);
var intRecCount = 0;
while (intCount > -1 )
{
objValor.value = objValor.value.substring (0, intCount) + "," + objValor.value.substring(intCount + 1, objValor.value.length)
intCount = objValor.value.indexOf (".", intCount)
intRecCount = intRecCount + 1;
}

}
  #3 (permalink)  
Antiguo 29/05/2004, 16:30
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Hola.

Revisa las faq's de javascript.

faq nº45

faq nº46
  #4 (permalink)  
Antiguo 03/01/2011, 12:39
Avatar de johnmad  
Fecha de Ingreso: diciembre-2010
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Formato numerico de un text con miles y decimales

¿Como puedo presentar un número con formato de separador de decimales y de miles a medida que va siendo transcrito en un campo de texto pero en javascript?
  #5 (permalink)  
Antiguo 03/01/2011, 13:18
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Formato numerico de un text con miles y decimales

Saludos

Cita:
Agregar al campo de texto:
onkeyup="puntitos(this,this.value.charAt(this.valu e.length-1))"
Fuente Tunait
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #6 (permalink)  
Antiguo 04/01/2011, 14:34
 
Fecha de Ingreso: octubre-2003
Ubicación: Hermosillo, Sonora
Mensajes: 75
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Formato numerico de un text con miles y decimales

Despues de tantos años hice ajustes, espero te sirva esta función

onkeyup=formatoMoneda(this.value, false)

// simbolo: true->regresar el simbolo
function formatoMoneda(obj, simbolo)
{
punto = "";
num += "";
posicion = num.indexOf('.');
cents = "";
if(posicion != -1)
{
punto = ".";
cents = num.substring(posicion);
if(cents.length >= 4) cents = cents.substring(0, 3);
posicion += posicion / 3;
num = num.split('.')[0] + cents;
}

num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
num = Math.floor(num/100).toString();
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));

if(simbolo) simbolo = '$'
else simbolo = ''
return (((sign)?'':'-') + simbolo + num + ((cents != "00" && cents.length > 0) ? cents : ''));
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 17:44.