Solución:
Si la cadena de entrada es "14,82"
y quieres el valor 14.82
, deberás convertir el ,
a un .
y luego usa parseFloat
:
var total_amount_int = parseFloat(
total_amount_string.replace(/,/g, ".")
).toFixed(2);
parseInt
solo analizará la parte inicial de la cadena que define un número entero (“int” = “entero” = “número entero”), por lo que se detiene en el ,
. parseFloat
analizará un número decimal, pero solo entenderá .
como el punto decimal, no ,
, incluso en lugares donde ,
es el punto decimal.
debe usar parseFloat () en lugar de parseInt (). Porque el número entero no es decimal.
Y el entero no tiene parte decimal, por lo que cualquier número “convertido” en int perderá sus decimales. Deberías usar parseFloat
si desea mantener la parte decimal. Por otro lado, asegúrese de no usar una coma: Javascript parse float ignora los decimales después de mi coma