potresti risolvere in vari modi, il + semplice è cambiare
if(isNaN(campo.value))
in
if(isNaN(campo.value)||campo.value.indexOf(".")>=0 )

considera cmq che un controllo solo onkeyup può essere facilmente aggirato con copia/incolla...
ciao