Nesse vídeo demonstraremos a tratativa em valores como por exemplo, arredondar ou truncar utilizando as funções Ceiling, Round e NoRound.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zExe076
Exemplo de arredondamentos de valores
@type Function
@author Atilio
@since 07/12/2022
@see https://tdn.totvs.com/display/tec/Ceiling , https://tdn.totvs.com/display/tec/Round e https://tdn.totvs.com/pages/releaseview.action?pageId=24347013
@obs
Função Ceiling
Parâmetros
+ nValor , Numérico , Indica o valor que será arredondado para cima
Retorno
+ nRet , Numérico , Retorna um número inteiro conforme o nValor passado
Função Round
Parâmetros
+ nValue , Numérico , Indica o valor que será analisado
+ nPoint , Numérico , Indica o número de casas decimais para arredondar
Retorno
+ nRet , Numérico , Retorna o valor arredondado
Função NoRound
Parâmetros
+ nValue , Numérico , Indica o valor que será analisado
+ nPoint , Numérico , Indica o número de casas decimais a considerar
Retorno
+ nRet , Numérico , Retorna o valor sem arredondamento
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe076()
Local aArea := FWGetArea()
Local cMensagem := ""
Local nValBase := 5.1785329
Local nForcCima := 0
Local nSemArred := 0
Local nComArred := 0
//Faz os arredondamentos
nForcCima := Ceiling(nValBase)
nSemArred := NoRound(nValBase, 2)
nComArred := Round(nValBase, 2)
//Monta a mensagem
cMensagem += "Valor original: " + cValToChar(nValBase) + CRLF
cMensagem += "Forçando para cima (Ceiling): " + cValToChar(nForcCima) + CRLF
cMensagem += "Sem Arredondar (NoRound): " + cValToChar(nSemArred) + CRLF
cMensagem += "Arredondando (Round): " + cValToChar(nComArred)
FWAlertInfo(cMensagem, "Teste com Ceiling, Round e NoRound")
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.