Текстовые накладные: проверка сумм до сравнения парсеров
Два парсера читают полные документы с точкой и запятой в цене; ошибочная дробь обнаруживается контрольным итогом.
Задача
Быстрый разбор бесполезен, если 12,50 превращается в 12. Исходная работа была про PDF, но без настоящего PDF-движка я ограничил результат текстовым слоем и сохранил все документы.
Исправленная запятая не исправляет неверный итог
Замена разбора десятичной запятой поднимает число успешных примеров с одного до трёх из четырёх. N4 остаётся ошибкой: там неверна итоговая сумма, а не формат числа. Я сохранил этот отказ, чтобы улучшение одного правила не выглядело универсальным исправлением любых финансовых данных.
Что сделано
Я сравнил два разбора денежных строк, исправил десятичную запятую и сохранил отрицательный контроль итоговой суммы.
Оба парсера выполнены на четырех полных документах. Прямой parseFloat прошел один, нормализация запятой — три; четвертый остался отклонен из-за ошибочного итога в самом документе. Время сравнивается рядом с этим различием правильности.
- index.html
- source.json
- source.csv
- result.json
- result.csv
- engine.js
- checks.json
- style.css
- timings.json
Открыть работающий материал · Контрольные примеры CSV · Повторить проверку · Модель и исходные условия