Как разобрать число с помощью точек и запятых - PullRequest
1 голос
/ 05 мая 2020

Я получаю строку вроде:

1.234.567,89

Я хочу 1234567,89

Запятая десятичная delimiter.Point - это тысячи и разделитель миллионов

Я хочу рассматривать как число.

Я пытаюсь заменить, но работает только с первым «.». И parseFloat. Также я пробую несколько регулярных выражений, найденных здесь, но у меня не работает

Я хочу это;

    var numberAsString= '1.234.567,89';
    //Step to clean string and conver to a number to compare (numberAsString => numberCleaned)
    if (numberCleaned> 1000000) {alert("greater than 1 million");}

Любая идея? (Извините, если это новый ie вопрос, но я не нашел решения за несколько часов ...)

Ответы [ 2 ]

5 голосов
/ 05 мая 2020

Вы можете использовать replace с g

const val = '1.234.567,89'.replace(/\./gi, '').replace(/,/, '.');
console.log(val)
console.log(typeof parseFloat(val))
1 голос
/ 05 мая 2020

это должно работать для текущего сценария. Сначала удалите точки, затем замените запятую точкой.

let number = "1.234.567,89";

function parseNum(num){
    return num.replace(/\./g, '').replace(",", ".")
}


console.log(parseNum(number));
...