Замените запятую точкой.
Это вернет только 554:
var value = parseFloat("554,20")
Это вернет 554.20:
var value = parseFloat("554.20")
Итак, в конце вы можете просто использовать:
var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
Не забывайте, что parseInt()
должен использоваться только для анализа целых чисел (без плавающих точек). В вашем случае он вернет только 554. Кроме того, вызов parseInt () для числа с плавающей запятой не будет округлять число: он займет свое слово (ближайшее нижнее целое).
Расширенный пример ответа на вопрос Педро Феррейры из комментариев:
Если текстовое поле содержит тысячи разделительных точек, как в 1.234.567,99
, они могут быть удалены заранее с помощью другого replace
:
var fValue = parseFloat(document.getElementById("textfield").value.replace(/\./g,"").replace(",","."))