Saltar a contenido

Operaciones matemáticas en PHP

PHP proporciona varias constantes y funciones matemáticas ya definidas que facilitan el trabajo con operaciones numéricas. Puedes consultar todas las funciones en Manual PHP - Funciones Matemáticas.

  • Constantes ya definidas
    • M_PI, M_E, M_EULER, M_LN2, M_LOG2E
    • PHP_INT_MAX, PHP_FLOAT_MAX
  • Funciones de cálculo
    • pow, sqrt, log, decbin, bindec, decoct, dechex, base_convert, max, min
  • Funciones trigonométricas
    • sin, cos, tan, deg2rad, rad2deg
  • Funciones para trabajar con números aleatorios
    • rand, mt_rand (más rápida)

Redondeo y formato de números

Es común que después de realizar cálculos, se necesite redondear y/o formatear los números para mostrarlos al usuario de manera adecuada.

La función number_format convierte un número a una cadena, aplicando el formato deseado:

<?php
$nf = 1234.5678;
echo number_format($nf, 2); // 1,234.57
echo number_format($nf, 2, "M", "#"); // 1#234M57
?>
  • Primer parámetro: Número a formatear.
  • Segundo parámetro: Cantidad de decimales.
  • Tercer parámetro: Separador de decimales.
  • Cuarto parámetro: Separador de miles.

Redondeo de números

PHP también proporciona funciones para redondear números de diversas formas:

  • abs: Devuelve el valor absoluto.
  • round: Redondea un número (por defecto, al entero más cercano).
  • ceil: Redondea al número entero superior más cercano (aproximación por exceso).
  • floor: Redondea al número entero inferior más cercano (aproximación por defecto).

<?php
$num = 7.7;
$siete = floor($num); // 7
$ocho = ceil($num); // 8

$otro = 4.49;
$cuatro = round($otro); // 4
$cuatrocinco = round($otro, 1); // 4.5
$cinco = round($cuatrocinco); // 5
?>
Con estas funciones y constantes, PHP permite realizar cálculos matemáticos de manera sencilla y eficiente.

Actividad

  • 📝 AC 223. (RA3 / CE3a CE3b / IC1 / 3p) Se solicita desarrollar un programa que resuelva una ecuación de 2º grado del tipo ax² + bx + c = 0. Se ha de tener cuenta que puede tener 2, 1 o no tener solución dependiendo del valor del discriminante b²-4ac.