As "soluções" (gambiarras) que eu já vi envolvem converter o número para string e ver o tamanho (se menor que 11, adiciona o zero), etc.
Estou consumindo uma API do Santander agora e em alguns campos de documento (CPF/CNPJ) ele retorna sem zero, outros com zero. Como não sei o comportamento exato (a documentação não menciona isso), terei que fazer um baita tratamento para conseguir identificar corretamente e preencher de acordo (visto que o CNPJ do Banco do Brasil, por exemplo, é 00.000.000/0001-91
, então talvez o Santander me retornasse pela API 191
).
O documento vem acompanhado de uma outra propriedade que indica se é CPF
ou CNPJ
, e eu até ia usar essa propriedade, mas vi um retorno com o valor 2
(como string), então eu precisarei tratar tudo isso.
Fica minha recomendação aos desenvolvedores: facilitem a vida de vocês e, principalmente, dos outros.
PS: RG, ao menos de São Paulo, pode ter letra (X
), e tem lugar que não aceita letra e é necessário inserir um número no lugar (nesse caso, 0
). Mais um exemplo de que isso não é uma boa escolha.