No edito el anterior, para no hacerlo dos veces.
Evidentemente
parseFloat() siempre toma la base decimal, a diferencia de
parseInt() que por omisión usa octales. En este último se puede cambiar a 10 (o cualquier otra), pero
parseFloat() ignora el segundo valor en la función.
Si "flota un punto", es decimal.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<script type="text/javascript">
document.write('<p>parseFloat("10") → '+parseFloat("10"))
document.write('<br>parseFloat("010") → '+parseFloat("010"))
document.write('<br>parseFloat("10",10) → '+parseFloat("10",10))
document.write('<br>parseFloat("9") → '+parseFloat("9"))
document.write('<br>parseFloat("09") → '+parseFloat("09"))
document.write('<br>parseFloat("09",10) → '+parseFloat("09",10))
document.write('<br>parseFloat("009.9",2) → '+parseFloat("009.9",2))
document.write('<br>')
document.write('<br>parseInt("10.1") → '+parseInt("10.1"))
document.write('<br>parseInt("010") → '+parseInt("010"))
document.write('<br>parseInt("10",10) → '+parseInt("10",10))
document.write('<br>parseInt("9") → '+parseInt("9"))
document.write('<br>parseInt("09") → '+parseInt("09"))
document.write('<br>parseInt("09",10) → '+parseInt("09",10))
document.write('<br>parseInt("09",2) → '+parseInt("09",2)+'</p>')
</script>
</html>
Una duda con validacion Numeros en Javascript