Skip to content

method AddFmtNum

Saulo Martins edited this page Jul 4, 2026 · 1 revision

AddFmtNum

:AddFmtNum(nDecimal,lMilhar,cPrefixo,cSufixo,cNegINI,cNegFim,cValorZero,cCor,cCorNeg,nNumFmtId)
Cria um formato para números (casas decimais, separador de milhar, prefixo/sufixo, tratamento de negativos e cores)


Parâmetros

Parâmetro Tipo Descrição Obrigatório Obs
nDecimal numérico Quantidade de casas decimais Default 0
lMilhar lógico Usa separador de milhar Default .F.
cPrefixo caractere Prefixo do número (ex: "R$ ")
cSufixo caractere Sufixo do número (ex: " %")
cNegINI caractere Símbolo no início de números negativos Default "-"
cNegFim caractere Símbolo no fim de números negativos (ex: ")")
cValorZero caractere Conteúdo para substituir valores zero
cCor caractere ou numérico Cor para número positivo Black, Blue, Cyan, Green, Magenta, Red, White, Yellow ou índice 1-56
cCorNeg caractere ou numérico Cor para número negativo Mesmos valores de cCor
nNumFmtId numérico numFmtId de formato existente para alteração Se omitido, cria um novo

Retorno

Numérico - numFmtId do formato criado/alterado

Exemplo

Local oExcel   := custom.excel.Xlsx():New(cNomeFile="TstYExcel",cTipo="A")
Local nFmtNum3 := oExcel:AddFmtNum(nDecimal=3,lMilhar=.T.,cNegINI="(",cNegFim=")",cCorNeg="Red") //3 decimais, milhar, negativo entre parênteses em vermelho
Local oPos3Dec := oExcel:NewStyle():SetnumFmt(nFmtNum3)
oExcel:ADDPlan()
oExcel:Pos(1,1):SetValue(100):SetStyle(oPos3Dec)
oExcel:Pos(1,2):SetValue(-100.2):SetStyle(oPos3Dec)
oExcel:Save(GetTempPath())
oExcel:OpenApp()
oExcel:Close()

Obs

Exemplos de formatos gerados:

Chamada Positivo Negativo
:AddFmtNum(3,.T.) 1.234,000 -1.234,000
:AddFmtNum(2,.T.,"R$ ") R$ 1.234,00 -R$ 1.234,00
:AddFmtNum(2,.T.,," %") 1.234,00 % -1.234,00 %
:AddFmtNum(2,.T.,,,"(",")") 1.234,00 (1.234,00)
:AddFmtNum(2,.T.,,,"(",")",,"Green","Red") 1.234,00 em verde (1.234,00) em vermelho

Clone this wiki locally