Me asaltó una idea cuando escribía un código JavaScript que procesaba algunos valores de coma flotante. ¿Cuál es el símbolo del punto decimal en JavaScript? ¿Siempre es .
? ¿O es específico de la cultura? ¿Y qué pasa con .toFixed()
y .parseFloat()
? Si estoy procesando una entrada del usuario, es probable que incluya el símbolo del separador decimal específico cultural específico.¿Cuál es el símbolo de separador decimal en JavaScript?
En última instancia, me gustaría escribir un código que admita dos decimales en la entrada del usuario - cultural específico y .
, pero no puedo escribir ese código si no sé qué espera JavaScript.
Agregado: OK, Rubens Farías suggests para mirar similar question que tiene una ordenada respuesta aceptada:
function whatDecimalSeparator() {
var n = 1.1;
n = n.toLocaleString().substring(1, 2);
return n;
}
Eso es bueno, que le permite a conseguir el punto decimal local. Un paso hacia la solución, sin dudas.
Ahora, la parte restante sería determinar cuál es el comportamiento de .parseFloat()
. Varias respuestas señalan que para literales de punto flotante solo .
es válido. ¿Funciona el .parseFloat()
de la misma manera? ¿O podría requerir el separador decimal local en algún navegador? ¿Hay algún método diferente para analizar los números de coma flotante también? ¿Debería lanzar mi propio seguro?
@ Vilx- por lo que estás haciendo, consideraría usar el operador unario (+) en lugar de 'parseFloat()'. Será mucho más fácil al validar la entrada. Ver mi respuesta actualizada. –