| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
|
Necesito ayuda con lo siguiente:
Tengo un numero en un string. El numero puede ser cualquier cantidad entre 1000 y 100.000 por decir algo. El numero no tiene puntos decimales y necesito que los tenga para mostrarlos en pantalla (Aunque en la base de datos se guardan sin puntos). ¿Alguno conoce una función que lo haga? La FAQ Puntos decimales tiene Pertenece a la categoría:
Comentarios de los visitantes
Comentario de Sarin Torrealba
19/9/06
Hola,
Te envio las funciones javascript para que el explorador autocomplete con puntos las cifras de miles del número que acaba de ingresar el usuario (Thousand) . Y la función para removerlos (PointsRemoved) para cuando vayas a grabarlo en la BD. function Thousand(donde,caracter){ pat = /[\*,\+,\(,\),\?,\\,\$,\[,\],\^]/ valor = donde.value largo = valor.length crtr = true //debugger 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 // Para manejar las tildes if (valor.indexOf(String.fromCharCode(96))>-1 || valor.indexOf(String.fromCharCode(180))>-1) { valor = valor.replace(String.fromCharCode(96),""); valor = valor.replace(String.fromCharCode(180),""); donde.value = valor; largo = valor.length; } for(m=0;m<largo;m++) { if(valor.charAt(m) == "." || valor.charAt(m) == " ") { continue; } else { nums[cont] = valor.charAt(m) cont++ } } } var cad1="",cad2="",tres=0 if(largo > 3 && crtr == true) { for (k=nums.length-1;k>=0;k--) { cad1 = nums[k] cad2 = cad1 + cad2 tres++ if((tres%3) == 0) { if(k!=0){ cad2 = "." + cad2 } } } donde.value = cad2 } } Esta función se llama en el evento onkeyup de la caja de texto. Ejemplo onkeyup="Thousand(this,this.value.charAt(this.value.length-1));" Y la función para remover los puntos function PointsRemoved(valText) { var valorOriginal=""; if (valText.indexOf(".") < 0) { valorOriginal=valText; } else { var valor = valText.split("."); for(var i=0;i < valor.length;i++) { valorOriginal = valorOriginal + valor[i]; } } return valorOriginal; } Espero te sirva ST Para ver más FAQ relacionadas accede a las categorías: |
|
||||||||||
| Complementar la respuesta | |
| Volver al árbol de categorías |
| DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia | ||||