Foros del Web » Programando para Internet » Javascript »

comprobar decimales

Estas en el tema de comprobar decimales en el foro de Javascript en Foros del Web. hola a todos! haber si alguien me puede ayudar. Quiero programar un javascript que compruebe que la cantidad introducida sea de la forma numero"."numero. Es ...
  #1 (permalink)  
Antiguo 26/07/2006, 02:44
 
Fecha de Ingreso: febrero-2006
Mensajes: 174
Antigüedad: 18 años, 2 meses
Puntos: 0
comprobar decimales

hola a todos!

haber si alguien me puede ayudar.
Quiero programar un javascript que compruebe que la cantidad introducida sea de la forma numero"."numero. Es decir, que no se separen los decimales con una coma, si no con un punto.

en caso de que se introduzca una coma, querría que la transformara en un punto y así no me diese error al insertar la cantidad en la base de datos.

Si alguien sabe, por favor, que me diga vale? que no encuentro nada por ahí!

muchas graciasss
  #2 (permalink)  
Antiguo 26/07/2006, 03:23
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
Pues yo encontré esta función por ahí

Código HTML:
function comprobardecimales(fieldName, fieldValue) {

	decallowed = 2;  // Cuantos decimales se permiten?
	long=fieldValue.length-1;
	valor=fieldValue.substring(0,long);
	if (valor=="") {
		valor=0;
	}
	if (isNaN(fieldValue) || fieldValue == "") {
		alert("El campo solo acepta numeros. Use el '.' como separador de decimales.");
		fieldName.value=valor;
		fieldName.select();
		fieldName.focus();
	} else {
		if (fieldValue.indexOf('.') == -1) fieldValue += ".";
		dectext = fieldValue.substring(fieldValue.indexOf('.')+1, fieldValue.length);

		if (dectext.length > decallowed) {
			alert ("Introduce un numero con " + decallowed + " decimales.");
			fieldName.value=valor;
			fieldName.select();
			fieldName.focus();
		}
   	}
}
Los parámetros a pasar a la función son el campo y el valor del campo. Espero q te sirva. Modifícala a tu gusto si quieres.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 26/07/2006, 04:19
 
Fecha de Ingreso: febrero-2006
Mensajes: 174
Antigüedad: 18 años, 2 meses
Puntos: 0
Gracias djreficul ! me ha sido de ayuda.
Aunque finalmente, he decidido no utilizar javascript, y comprobarlo directamente en php.

for ($i=0;$i<strlen($cantidad);$i++) {
if($cantidad{$i}==","){
$cantidad{$i}=".";

}
}

Gracias de nuevo!!
  #4 (permalink)  
Antiguo 26/07/2006, 04:24
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
Pues te hubiera sido mejor usar str_replace e is_finite para comprobarlo.

Saludos
__________________
La muerte es un camino que todos debemos recorrer...
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:55.