@alepron

Не получается float при явном преобразовании textContent. Что не так?

Помогите вечному студенту. Получаю кукловодом содержимое ячеек таблицы, преобразую в float с десятыми долями, но на выходе имею текст. При операции сложения имею конкатенацию. Какого, спрашивается?! В чём я буратина?

const cells = await page.$$eval('.table-content .table-tbody td', (tds) =>
        tds.map((td) => td.textContent.replace(/\u00a0/g, '').replace(',', '.')));

    let dt = 0,
        bc = 0,
        ws = 0,
        sal = 0;

    cells.forEach((el, index) => {

        if (index % 5 == 0)
            dt = el;
        if (index % 5 == 3)
            bc = parseFloat(el).toFixed(2);
        if (index % 5 == 4) {
            ws = parseFloat(el).toFixed(2);
            sal = bc + ws;
            console.log(dt, bc, ws, sal);
        }

    });


результат:

26.02 635.00 3478.01 635.003478.01
28.02 578.75 3350.17 578.753350.17
  • Вопрос задан
  • 34 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Number.prototype.toFixed()
Возвращаемое значение
Строка, представляющая numObj, не использующая экспоненциальную запись и содержащая ровно digits цифр после десятичной запятой.

https://developer.mozilla.org/ru/docs/Web/JavaScri...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы