Substituir pontos e vírgulas da mesma forma em todos os arquivos pode alterar os valores recebidos. Este laboratório acrescenta um validador executável ao exame de importações: a convenção vem do metadado da fonte, e entradas ambíguas ou malformadas permanecem visíveis.
Os valores são fictícios, na mesma moeda, com até três casas decimais permitidas pelo esquema de exportação. O delimitador dos CSVs do pacote é ponto e vírgula. As convenções numéricas são independentes desse delimitador: uma utiliza vírgula decimal e ponto para agrupamento; a outra utiliza ponto decimal e vírgula para agrupamento.
| Registro | Texto original | Convenção documentada | Resultado |
|---|---|---|---|
| A | 1.250,50 | Vírgula decimal | 1.250,50 |
| B | 1,250.50 | Ponto decimal | 1.250,50 |
| C | (200,00) | Vírgula decimal | Débito de 200,00 |
| D | 200.00 | Ponto decimal | 200,00 |
| E | 1,234 | Ausente | Ambíguo |
| F | 12.34,56 | Vírgula decimal | Agrupamento inválido |
Os parênteses de C significam valor negativo segundo o esquema fornecido. Não se aplica essa regra a qualquer descrição textual. A e B são operações distintas, apesar de terem o mesmo valor. O subtotal dos quatro registros convertidos é R$ 2.501,00.
E admite 1,234 unidade com vírgula decimal ou 1.234 unidades com vírgula de agrupamento. O programa apresenta essas alternativas sem escolher uma. F contém um grupo de dois algarismos depois do separador de milhar; remover o separador silenciosamente transformaria a entrada defeituosa em outro número. O total dos seis registros permanece indeterminado.
O verificador exige agrupamentos completos de três algarismos, conserva o texto recebido e separa ambiguidade de erro de formato. Usa aritmética decimal e testa também entradas inválidas. A documentação de leitura CSV explica a preservação inicial dos campos como texto; a de Decimal descreve a representação decimal utilizada. As regras de convenção e de sinais pertencem ao esquema fictício, não são inferidas por essas bibliotecas.
Na assistência técnica contábil, o subtotal conhecido deve acompanhar a lista de exceções. Um total aparentemente plausível não autoriza apagar os registros que falharam na conversão.
