Foros del Web » Programando para Internet » Javascript »

Formato de Numeros

Estas en el tema de Formato de Numeros en el foro de Javascript en Foros del Web. Tengo un texbox que lo unico que recibe son numeros los cuales son cantidades pero el formato de esas cantidades debe ser por ejm: 100.000,00 ...
  #1 (permalink)  
Antiguo 12/01/2005, 13:52
 
Fecha de Ingreso: octubre-2003
Ubicación: Caracas, Venezuela
Mensajes: 92
Antigüedad: 20 años, 6 meses
Puntos: 0
Formato de Numeros

Tengo un texbox que lo unico que recibe son numeros los cuales son cantidades pero el formato de esas cantidades debe ser por ejm: 100.000,00 y necesito validar que ese realmente sea el formato y no cualquier otro y no se como hacerlo. AYUDAAAA por favor
  #2 (permalink)  
Antiguo 12/01/2005, 13:57
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Buenas

pues mira a ver si puedes integrar este script http://javascript.tunait.com/javascr....asp?s=puntos2
  #3 (permalink)  
Antiguo 12/01/2005, 14:08
 
Fecha de Ingreso: octubre-2003
Ubicación: Caracas, Venezuela
Mensajes: 92
Antigüedad: 20 años, 6 meses
Puntos: 0
ok es asi que exactamente lo necesito pero no lo puedo agregar en mi site con esos radio buttons sino unicamente la caja de texto y que cuando haga un onChange realize eso??? tu crees que se pueda??? es que no se como hacerlo
Gracias TUNAIT
  #4 (permalink)  
Antiguo 12/01/2005, 14:53
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Bueno, a ver si lo adaptamos....

El script queda de la siguiente manera:

Código PHP:
<script type="text/javascript">
/*****************************************************************************
Código para colocar los indicadores de miles  y decimales mientras se escribe
Script creado por Tunait!
Si quieres usar este script en tu sitio eres libre de hacerlo con la condición de que permanezcan intactas estas líneas, osea, los créditos.

http://javascript.tunait.com
[email protected]  27/Julio/03
******************************************************************************/
function puntitos(donde,caracter,campo)
{
var 
decimales false
campo 
= eval("donde.form." campo)
    
dec = new Number(campo.value)
    if (
dec != 0)
        {
decimales true}




pat = /[*,+,(,),?,,$,[,],^]/
valor donde.value
largo 
valor.length
crtr 
true
if(isNaN(caracter) || pat.test(caracter) == true)
    {
    if (
pat.test(caracter)==true
        {
caracter "\\" caracter}
    
carcter = new RegExp(caracter,"g")
    
valor valor.replace(carcter,"")
    
donde.value valor
    crtr 
false
    
}
else
    {
    var 
nums = new Array()
    
cont 0
    
for(m=0;m<largo;m++)
        {
        if(
valor.charAt(m) == "." || valor.charAt(m) == " " || valor.charAt(m) == ",")
            {continue;}
        else{
            
nums[cont] = valor.charAt(m)
            
cont++
            }
        
        }
    }

if(
decimales == true) {
    
ctdd = eval(dec);
    
nmrs 1
    
}
else {
    
ctdd 1nmrs 3
    
}
var 
cad1="",cad2="",cad3="",tres=0
if(largo nmrs && crtr == true)
    {
    for (
k=nums.length-ctdd;k>=0;k--){
        
cad1 nums[k]
        
cad2 cad1 cad2
        tres
++
        if((
tres%3) == 0){
            if(
k!=0){
                
cad2 "." cad2
                
}
            }
        }
        
    for (
dd decdd 0dd--)    
    {
cad3 += nums[nums.length-dd] }
    if(
decimales == true)
    {
cad2 += "," cad3}
     
donde.value cad2
    
}
donde.focus()
}    
</script> 
Dentro de tu form inserta un campo oculto y llámalo, por ejemplo, decimales y asígnale por valor la cantidad de decimales que quieras

<input type="hidden" name="decimales" value="2" />

Y a los campos del form que quieras formatear les pides...

<input type="text" name="textfield" onkeyup="puntitos(this,this.value.charAt(this.valu e.length-1),'decimales')">

Si le das otro nombre al campo oculto debes cambiar lo que te puse en azul por el nombre que le asignes al campo hidden.

Puedes usarlo con tantos campos como quieras.

Dime si lograste instalarlo
  #5 (permalink)  
Antiguo 12/01/2005, 16:09
 
Fecha de Ingreso: octubre-2003
Ubicación: Caracas, Venezuela
Mensajes: 92
Antigüedad: 20 años, 6 meses
Puntos: 0
OK perfecto te cuento lo que hice:
la variable dec la inicialize en 2, luego lo que hice fue adaptar ese llamado a mi textbox y funcionó. de verdad muchas gracias TUNAIT.
Saludos desde Venezuela
:)
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




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