Leonardo,
Esse ponto é meu! KKKKK!!!
A diferença é a conversão de string para inteiro e de string para Float.
Exemplo:
text1 = "1.786789";
console.log(`Text1 - P_Int: ${parseInt(text1)}`);
console.log(`Text1 - P_Float: ${parseFloat(text1, 2)}`);
Veja que as casas decimais foram eliminadas no "parseInt".
text1 = "361,7893";
console.log(typeof(text1));
console.log(typeof(parseInt(text1.replace(",", "."))));
console.log(typeof(parseFloat(text1.replace(",", "."))));
Agora NÃO é mais 'string', mas 'number'. Veja que TAMBÉM trocar (replace) a vírgula (padrão nacional) pelo ponto (padrão americano) é necessário, senão apresenta um erro.
MOTIVO:
Algumas vezes você NÃO pode passar uma "string" para uma função, precisa passar um número, então tem que converter antes.
Abaixo alguns links referência para você pegar os detalhes das funções:
======================================
parseInt()
A função parseInt() analisa um argumento string e retorna um inteiro na base especificada.
parseInt(string, base);
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/parseInt
======================================
parseFloat()
A função parseFloat analisa um argumento (convertendo-o para uma string primeiro caso necessário) e retorna um número de ponto flutuante (número decimal).
parseFloat(string)
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
======================================
Espero ter ajudado e se ajudei, por favor, não esqueça de fechar o tópico e me pontuar, esses pontinhos são medalhas, medalhas, medalhas para mim...
[]'s,
Fabio I.