Funções de conversão entre tipos: CTOD, DTOC, DTOS, STOD, STR, StrZero e Val
Escolhe formatos explícitos para converter datas e números.
Visão geral
CTOD interpreta texto de data conforme o formato do ambiente e DTOC o apresenta; não presumir que uma data ambígua signifique o mesmo em todos os ambientes. DTOS produz AAAAMMDD e STOD faz a conversão inversa desse contrato. STR preenche espaços e StrZero preenche zeros; ambos exigem largura suficiente ou podem produzir asteriscos. Val lê um prefixo numérico e não valida toda a entrada: ponto decimal e texto residual exigem tratamento. O exemplo usa data não ambígua e número fixo. (Fontes: refs. 1–7.)
Exemplo comentado
#Include "Protheus.ch"
User Function Ed408()
Local dData := SToD("20261026")
// Formato de intercambio explicito, sem mudar SET DATE.
ConOut(DToS(dData))
ConOut(DToC(dData))
ConOut(cValToChar(CToD(DToC(dData)) == dData))
ConOut(Str(12,4,0))
ConOut(StrZero(12,4,0))
ConOut(cValToChar(Val("12.5")))
Return Nil20261026; data formatada pelo ambiente; igualdade verdadeira no formato preparado; " 12"; "0012"; número 12.5. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Validar a entrada antes da conversão e conferir largura, separador e século.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.