Hola:
La respuesta de
xbx es muy buena, pero me gustaría otorgar otra sin dar uso a expresiones regulares. A veces las podemos evitar si no las conocemos:
Código PHP:
function esNumero(n) {
n = n.toString().replace(",", "."); // permitimos la coma, pero la sustituimos con punto
n = Number(n);
var tieneDosDecimales = n*100===n.toFixed(2)*100;
var esMenorOcero = n<=0;
return (Boolean(n) || esMenorOcero) && tieneDosDecimales;
}
alert( esNumero("5.12") );
Lo único que no he conseguido hacer (sin engordar mucho el código) es si se añaden ceros a la derecha de los decimales (500.0000). La cantidad numérica no varía, así que supongo que se puede asumir.
Saludos