Funções Matemáticas em Clipper
Long.parseLong |
numeroDecimal = 15.75 |
Double.parseDouble |
stringNumero = "123.45" |
Boolean.parseBoolean |
// Função para converter string em booleano // Verifica se a string representa verdadeiro RETURN lResult |
cStringVerdadeira = "T" lBooleanVerdadeiro = StringToBoolean(cStringVerdadeira) // lBooleanVerdadeiro receberá .T. |
Math.floor |
// Função para arredondar para baixo (equivalente a Math.floor) |
nNumeroOriginal = 10.75 nNumeroArredondado = Floor(nNumeroOriginal) // nNumeroArredondado receberá 10 |
Math.ceil |
// Função para arredondar para cima (equivalente a Math.ceil) |
nNumeroOriginal = 10.25 nNumeroArredondado = Ceil(nNumeroOriginal) // nNumeroArredondado receberá 11 |
Math.round |
// Função para arredondamento (equivalente a Math.round) nDecimal = Frac(nNumero) // Se a parte decimal for maior ou igual a 0.5, arredonda para cima |
nNumeroOriginal = 10.75 nNumeroArredondado = Round(nNumeroOriginal) // nNumeroArredondado receberá 11 |
Math.trunc |
// Função para truncar (equivalente a Math.trunc) |
nNumeroOriginal = 10.75 nNumeroTruncado = Trunc(nNumeroOriginal) // nNumeroTruncado receberá 10 |
// Função para formatar número com 3 casas decimais // Converte o número em uma string RETURN cNumeroFormatado // Neste exemplo, Str(nNumero, 15, 3) converte o número em uma string com no máximo 15 caracteres, incluindo 3 casas decimais. Este é apenas um exemplo básico, e você pode precisar ajustar a função conforme necessário, dependendo das suas necessidades específicas. |
nNumeroOriginal = 10.12345 cNumeroFormatado = FormatNumero(nNumeroOriginal) // cNumeroFormatado receberá " 10.123" |
toLocaleString |
// Função para formatar moeda brasileira // Converte o número em uma string formatada como moeda RETURN cMoedaFormatada |
nValorOriginal = 1234.56 cMoedaFormatada = FormatarMoeda(nValorOriginal) // cMoedaFormatada receberá "$ 1,234.56" |
Math.random |
// Função para gerar número aleatório entre 0 e 1 |
nNumeroAleatorio = Random() // nNumeroAleatorio receberá um valor entre 0 e 1 |
Math.abs |
// Função para calcular o valor absoluto |
nNumeroOriginal = -5 nValorAbsoluto = Abs(nNumeroOriginal) // nValorAbsoluto receberá 5 |
Math.max |
// Função para encontrar o valor máximo entre dois números |
nValor1 = 10 nValor2 = 15 nMaximo = Max(nValor1, nValor2) // nMaximo receberá 15 |
int maximoEntreTres = Math.max(Math.max(numero1, numero2), numero3); |
Math.min |
// Função para encontrar o valor mínimo entre dois números |
nValor1 = 10 nValor2 = 15 nMinimo = Min(nValor1, nValor2) // nMinimo receberá 10 |
int minimoEntreTres = Math.min(Math.min(numero1, numero2), numero3); |
Math.pow |
// Função para calcular potência nResultado = 1 FOR i = 1 TO nExpoente RETURN nResultado |
nBase = 2 nExpoente = 3 nResultado = Pow(nBase, nExpoente) // nResultado receberá 8 |
Math.sqrt |
// Função para calcular a raiz quadrada |
nNumeroOriginal = 25 |
Math.SQRT1_2 |
// Definindo a constante Math.SQRT1_2 |
public static final double SQRT1_2 = 0.7071067811865476; |
Math.SQRT2 |
// Definindo a constante Math.SQRT2 |
public static final double SQRT2 = 1.4142135623730951; |
Math.cbrt |
// Função para calcular a raiz cúbica |
nNumeroOriginal = 27 |
Math.sign |
// Função para determinar o sinal de um número FUNCTION Sign(nNumero) IF nNumero > 0 RETURN 1 // Número positivo ELSEIF nNumero < 0 RETURN -1 // Número negativo ELSE RETURN 0 // Número zero ENDIF |
nNumeroOriginal = -5 nSinal = Sign(nNumeroOriginal) // nSinal receberá -1 |
Math.PI |
// Definindo a constante Math.PI |
import math circunferencia = 2 * math.pi * raio |
function radianos(){ return Math.PI/180 } |
// Função para converter graus para radianos FUNCTION Radianos() RETURN Pi() / 180 |
nAnguloGraus = 90 nAnguloRadianos = nAnguloGraus * Radianos() // nAnguloRadianos receberá aproximadamente 1.5707963267948966 |
Math.sin |
// Função para converter graus para radianos |
// Função para calcular o seno de um ângulo em graus FUNCTION SenoGraus(nAnguloGraus) RETURN Sin(nAnguloGraus * Radianos()) |
nAnguloGraus = 30 nSeno = SenoGraus(nAnguloGraus) // nSeno receberá aproximadamente 0.5 |
Math.cos |
// Função para converter graus para radianos FUNCTION Radianos() RETURN Pi() / 180 |
// Função para calcular o cosseno de um ângulo em graus FUNCTION CossenoGraus(nAnguloGraus) RETURN Cos(nAnguloGraus * Radianos()) |
nAnguloGraus = 60 |
Math.tan |
// Função para converter graus para radianos FUNCTION Radianos() RETURN Pi() / 180 |
// Função para calcular a tangente de um ângulo em graus FUNCTION TangenteGraus(nAnguloGraus) RETURN Tan(nAnguloGraus * Radianos()) |
inAnguloGraus = 45 |
Math.asin |
// Função para calcular o arco seno de um valor |
nValor = 0.5 nArcoSeno = ArcoSeno(nValor) // nArcoSeno receberá aproximadamente 0.5235987755982988 |
Math.acos |
// Função para calcular o arco cosseno de um valor |
nValor = 0.5 nArcoCosseno = ArcoCosseno(nValor) // nArcoCosseno receberá aproximadamente 1.0471975511965979 |
Math.atan |
// Função para calcular a arco tangente de um valor |
nValor = 1 nArcoTangente = ArcoTangente(nValor) // nArcoTangente receberá aproximadamente 0.7853981633974483 |
Math.sinh |
// Função para calcular o seno hiperbólico de um número |
nNumeroOriginal = 2 nSenoHiperbolico = SenoHiperbolico(nNumeroOriginal) // nSenoHiperbolico receberá aproximadamente 3.6268604078470186 |
(e^x - e^(-x)) / 2 |
Math.cosh |
// Função para calcular o cosseno hiperbólico de um número |
nNumeroOriginal = 2 nCossenoHiperbolico = CossenoHiperbolico(nNumeroOriginal) // nCossenoHiperbolico receberá aproximadamente 3.7621956910836314 |
(e^x + e^(-x)) / 2 |
Math.tanh |
// Função para calcular a tangente hiperbólica de um número FUNCTION TangenteHiperbolica(nNumero) RETURN (Exp(nNumero) - Exp(-nNumero)) / (Exp(nNumero) + Exp(-nNumero)) |
nNumeroOriginal = 1 nTangenteHiperbolica = TangenteHiperbolica(nNumeroOriginal) // nTangenteHiperbolica receberá aproximadamente 0.7615941559557649 |
(e^x - e^(-x)) / (e^x + e^(-x)) |
Math.asinh |
// Função para calcular o arco seno hiperbólico inverso de um número |
nNumeroOriginal = 1.5 nArcoSenoHiperbolicoInverso = ArcoSenoHiperbolicoInverso(nNumeroOriginal) // nArcoSenoHiperbolicoInverso receberá aproximadamente 0.9624236501192069 |
asinh(x) = ln(x + sqrt(x^2 + 1)) |
Math.acosh |
// Função para calcular o arco cosseno hiperbólico inverso de um número |
nNumeroOriginal = 2 nArcoCossenoHiperbolicoInverso = ArcoCossenoHiperbolicoInverso(nNumeroOriginal) // nArcoCossenoHiperbolicoInverso receberá aproximadamente 1.3169578969248166 |
acosh(x) = ln(x + sqrt(x^2 - 1)) |
Math.atanh |
// Função para calcular o arco tangente hiperbólico inverso de um número |
nNumeroOriginal = 0.8 nArcoTangenteHiperbolicoInverso = ArcoTangenteHiperbolicoInverso(nNumeroOriginal) // nArcoTangenteHiperbolicoInverso receberá aproximadamente 1.0986122886681098 |
atanh(x) = 0.5 * ln((1 + x) / (1 - x)) |
Math.log |
// Função para calcular o logaritmo natural |
nNumeroOriginal = 10 nLogaritmoNatural = LogNatural(nNumeroOriginal) // nLogaritmoNatural receberá 2.302585092994046 |
// Função para calcular o logaritmo em qualquer base |
nNumeroOriginal = 100 nLogaritmoBase10 = LogBase(nNumeroOriginal, 10) // nLogaritmoBase10 receberá 2 |
Math.log10 |
// Função para calcular o logaritmo na base 10 |
nNumeroOriginal = 100 nLogaritmoBase10 = Log10(nNumeroOriginal) // nLogaritmoBase10 receberá 2 |
Math.E |
// Definindo a constante Math.E |
Math.LN2 |
// Definindo a constante Math.LN2 |
Math.LOG2E |
// Definindo a constante Math.LOG2E |
Math.LN10 |
i// Definindo a constante Math.LN10 |
Math.LOG10E |
// Definindo a constante Math.LOG10E |
Math.exp |
nExpoente = 2 |
Math.log2 |
// Função para calcular o logaritmo na base 2 |
nNumeroOriginal = 8 nLogaritmoBase2 = Log2(nNumeroOriginal) // nLogaritmoBase2 receberá 3 |
Math.log1p |
// Função para calcular o logaritmo natural de 1 somado a um número |
nNumeroOriginal = 0.5 nLog1p = Log1p(nNumeroOriginal) // nLog1p receberá aproximadamente 0.4055 |