Funções Matemáticas em PHP

Convertendo String para Numérica

Números Inteiros

Long.parseLong

$numeroString = "123";
$numeroInteiro = intval($numeroString);

echo $numeroInteiro; // Saída: 123

Números Reais

Double.parseDouble

$numeroString = "123.45";
$numeroFloat = floatval($numeroString);

echo $numeroFloat; // Saída: 123.45

Boleanos

Boolean.parseBoolean

$valorString = "true";
$valorBooleano = boolval($valorString);

var_dump($valorBooleano); // Saída: bool(true)

Arredondando valores

Math.floor

$numeroDecimal = 5.78;
$numeroInteiro = floor($numeroDecimal);

echo $numeroInteiro; // Saída: 5

Math.ceil

$numeroDecimal = 3.14;
$numeroInteiro = ceil($numeroDecimal);

echo $numeroInteiro; // Saída: 4

Math.round

$numeroDecimal = 2.56;
$numeroArredondado = round($numeroDecimal);

echo $numeroArredondado; // Saída: 3

Math.trunc

$numeroDecimal = 8.72;
$numeroInteiro = intval($numeroDecimal);

echo $numeroInteiro; // Saída: 8

Digite um número com 3 casas decimais

 

<?php
$numero = 123.456789;

// Formatar o número com 3 casas decimais
$numeroFormatado = number_format($numero, 3, '.', '');

echo $numeroFormatado;
?>

Formatar moeda

toLocaleString

<?php
$valor = 12345.67;

// Criando um objeto NumberFormatter para o formato de moeda brasileira
$fmt = new NumberFormatter('pt_BR', NumberFormatter::CURRENCY);

// Formatando o valor como moeda brasileira
$valorFormatadoBR = $fmt->formatCurrency($valor, 'BRL');

echo "Valor formatado (Moeda Brasileira): $valorFormatadoBR";
?>

$valor = 1234.56;

// Formatando como moeda brasileira
$valorFormatado = number_format($valor, 2, ',', '.');

echo 'R$ ' . $valorFormatado; // Saída: R$ 1.234,56

Funções matemáticas comuns

Math.random

$numeroAleatorioDecimal = lcg_value();

echo $numeroAleatorioDecimal;

Math.abs

$numeroNegativo = -5;
$valorAbsoluto = abs($numeroNegativo);

echo $valorAbsoluto; // Saída: 5

Math.max

$numero1 = 10;
$numero2 = 5;
$numero3 = 8;

$maiorNumero = max($numero1, $numero2, $numero3);

echo $maiorNumero; // Saída: 10

$arrayDeNumeros = [10, 5, 8];

$maiorNumero = max(...$arrayDeNumeros);

echo $maiorNumero; // Saída: 10

int maximoEntreTres = Math.max(Math.max(numero1, numero2), numero3);
Math.min

$numero1 = 10;
$numero2 = 5;
$numero3 = 8;

$menorNumero = min($numero1, $numero2, $numero3);

echo $menorNumero; // Saída: 5

$arrayDeNumeros = [10, 5, 8];

$menorNumero = min(...$arrayDeNumeros);

echo $menorNumero; // Saída: 5

int minimoEntreTres = Math.min(Math.min(numero1, numero2), numero3);
Math.pow

$base = 2;
$exponente = 3;

$resultado = $base ** $exponente;

echo $resultado; // Saída: 8

$base = 2;
$exponente = 3;

$resultado = pow($base, $exponente);

echo $resultado; // Saída: 8

Math.sqrt

$numero = 9;

$raizQuadrada = sqrt($numero);

echo $raizQuadrada; // Saída: 3

Math.SQRT1_2

$raizQuadradaDeMeio = sqrt(0.5);

echo $raizQuadradaDeMeio; // Saída: 0.70710678118655

public static final double SQRT1_2 = 0.7071067811865476;
Math.SQRT2

$raizQuadradaDeDois = sqrt(2);

echo $raizQuadradaDeDois; // Saída: 1.4142135623731

public static final double SQRT2 = 1.4142135623730951;
 
Math.cbrt

$numero = 27;

$raizCubica = pow($numero, 1/3);

echo $raizCubica; // Saída: 3

$numero = "12345678901234567890";

$raizCubica = bcpow($numero, '1/3', 20); // 20 é o número de casas decimais desejado

echo $raizCubica; // Saída: 2406106623.53427

Math.sign

function sign($numero) {
if ($numero > 0) {
return 1;
} elseif ($numero < 0) {
return -1;
} else {
return 0;
}
}

$valor = 42;

$sinal = sign($valor);

echo $sinal; // Saída: 1

Funções trigonométricas

Math.PI

$valorDePi = pi();

echo $valorDePi; // Saída: 3.1415926535898

$valorDePi = M_PI;

echo $valorDePi; // Saída: 3.1415926535898

function radianos(){
return Math.PI/180
}

function grausParaRadianos() {
return M_PI / 180;
}

$anguloEmGraus = 90;
$anguloEmRadianos = $anguloEmGraus * grausParaRadianos();

echo $anguloEmRadianos; // Saída: 1.5707963267949

 
Math.sin

$anguloEmRadianos = deg2rad(30); // Converte 30 graus para radianos
$senoDoAngulo = sin($anguloEmRadianos);

echo $senoDoAngulo; // Saída: 0.49999999999999994


Math.cos

$anguloEmRadianos = deg2rad(60); // Converte 60 graus para radianos
$cossenoDoAngulo = cos($anguloEmRadianos);

echo $cossenoDoAngulo; // Saída: 0.5000000000000001

Math.tan

$anguloEmRadianos = deg2rad(45); // Converte 45 graus para radianos
$tangenteDoAngulo = tan($anguloEmRadianos);

echo $tangenteDoAngulo; // Saída: 0.9999999999999999

 
Math.asin

$numero = 0.5;
$arcoSenoHiperbolico = asinh($numero);

echo $arcoSenoHiperbolico; // Saída: 0.4812118250596

Math.acos

$numero = 0.5;
$arcoCosseno = acos($numero);

echo rad2deg($arcoCosseno); // Saída: 60

Math.atan

$numero = 1;
$arcoTangente = atan($numero);

echo rad2deg($arcoTangente); // Saída: 45

 
Math.sinh

$numero = 2;
$senoHiperbolico = sinh($numero);

echo $senoHiperbolico; // Saída: 3.626860407847

Math.cosh

$numero = 2;
$cossenoHiperbolico = cosh($numero);

echo $cossenoHiperbolico; // Saída: 3.7621956910836

Math.tanh

$numero = 2;
$tangenteHiperbolica = tanh($numero);

echo $tangenteHiperbolica; // Saída: 0.96402758007582

 
Math.asinh

$numero = 2;
$arcoSenoHiperbolico = asinh($numero);

echo $arcoSenoHiperbolico; // Saída: 1.4436354751788

asinh(x) = ln(x + sqrt(x^2 + 1))
Math.acosh

$numero = 2;
$arcoCossenoHiperbolico = acosh($numero);

echo $arcoCossenoHiperbolico; // Saída: 1.3169578969248

acosh(x) = ln(x + sqrt(x^2 - 1))
Math.atanh

$numero = 0.5;
$arcoTangenteHiperbolico = atanh($numero);

echo $arcoTangenteHiperbolico; // Saída: 0.54930614433405

atanh(x) = 0.5 * ln((1 + x) / (1 - x))

Logarítmos

Math.log

$numero = 10;

// Calculando o logaritmo na base 10
$logaritmoBase10 = log($numero, 10);

echo $logaritmoBase10; // Saída: 1

$numero = 10;

// Calculando o logaritmo natural (base e)
$logaritmoNatural = log($numero);

echo $logaritmoNatural; // Saída: 2.302585092994

Math.log10

$numero = 100;

// Calculando o logaritmo na base 10 usando log10
$logaritmoBase10 = log10($numero);

echo $logaritmoBase10; // Saída: 2

$numero = 100;

// Calculando o logaritmo na base 10
$logaritmoBase10 = log($numero, 10);

echo $logaritmoBase10; // Saída: 2

 
Math.E

$resultado = exp(1); // exp(1) é equivalente a Math.E

echo $resultado; // Saída: 2.718281828459

$resultado = M_E;

echo $resultado; // Saída: 2.718281828459

Math.LN2

$resultado = log(2); // log(2) é equivalente a Math.LN2

echo $resultado; // Saída: 0.69314718055995

$resultado = M_LN2;

echo $resultado; // Saída: 0.69314718055995

Math.LOG2E

$resultado = log(2, M_E); // logaritmo de Euler na base 2, equivalente a Math.LOG2E

echo $resultado; // Saída: 0.69314718055995

$resultado = M_LOG2E;

echo $resultado; // Saída: 1.44269504088896

Math.LN10

$resultado = log(10); // log(10) é equivalente a Math.LN10

echo $resultado; // Saída: 2.302585092994

$resultado = M_LN10;

echo $resultado; // Saída: 2.302585092994

Math.LOG10E

$resultado = log(10, M_E); // logaritmo de Euler na base 10, equivalente a Math.LOG10E

echo $resultado; // Saída: 0.43429448190325

$resultado = M_LOG10E;

echo $resultado; // Saída: 0.43429448190325

 
Math.exp

$numero = 2;

$resultado = exp($numero);

echo $resultado; // Saída: 7.3890560989307

Math.log2

$numero = 8;

$logaritmoBase2 = log2($numero);

echo $logaritmoBase2; // Saída: 3

Math.log1p

$numero = 2;

$logaritmo = log1p($numero);

echo $logaritmo; // Saída: 1.0986122886681