2

Los valores que están entre 1, 2, 3, 4 me muestras decimales como resultados 0.2 al igual que los valores 11, 12, 13, 14 me muestra decimales como resultados 2.2 y así sucesivamente.

El redondeo funciona correctamente, por ejemplo si tengo valores de 5 me muestra como resultado 1 y si tengo valores de 10 me muestra un resultado de 2.

Lo que deseo es eliminar las decimales, no mostrarla, porque el redondeo ya existe en mi variable todo valor que sea entre 5, 10, 15, 20, 25, 30 me muestra resultados sin decimales, pero si son valores como 1, 2, 3, 4 7, 6, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19 etc me muestra valores con decimales.

En resumen, solo deseo mostrar los valores redondeados y no los decimales.

Que condición le debo pasar a mi variable que me trae los valores:

echo $total;

Existe alguna herramienta como number_format(); o otra que me permita eliminar los decimales y solo permitir los redondeados.

Fernando
  • 8
  • 1
  • 16
  • 1
    la función de php que redondea decimales a un entero es `round(3.4); // da 3` –  Aug 21 '18 at 02:01
  • El problema con round es que si tiene por ejemplo 3.6, daría 4. A menos que sea lo que necesite. Puedes usar substr(); – Andy Samuel Aug 21 '18 at 02:03
  • @Alfredo El redondeo ya se trae de esa variable, por ejemplo si tiene este valor `5` me da resultado `1` si tengo este valor `45` me da resultado `9` entonces el redondeo ya existe, lo que deseo es ocultar o eliminar las decimales que se muestran al no llegar al redondeo. – Fernando Aug 21 '18 at 02:08
  • @AndySamuel Voy a probar que sucede con `round` – Fernando Aug 21 '18 at 02:08
  • @Alfredo Probé lo siguientes valores, valor de `7` me seguía mostrando el resultado de `1` pero si le cambie el valor a: `8` me cambio el valor a `2` y eso no es lo que deseo ese `2` debe mostrarse cuando el valor de la variable sea `10` y no `8` – Fernando Aug 21 '18 at 02:14
  • Creo que no estoy entendiendo tu pregunta... – Andy Samuel Aug 21 '18 at 02:18
  • @AndySamuel Lo que deseo es eliminar las decimales, no mostrarla, porque el redondeo ya existe en mi variable todo valor que sea entre `5, 10, 15, 20, 25, 30` me muestra resultados sin decimales, pero si son valores como `1, 2, 3, 4 7, 6, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19` etc me muestra valores con decimales. – Fernando Aug 21 '18 at 02:21

2 Answers2

2

Hay varias opciones:

round($var); redondeo con precisión

floor($var); redondeo para abajo

ceil($var); redondeo para arriba

si los resultados no son los esperados ver ¿Por qué mis programas no pueden hacer cálculos aritméticos correctamente?

alo Malbarez
  • 8,871
  • 2
  • 10
  • 29
1

Lo que necesitas es la función floor()

<?php 
    $num1 = 15.7;

    echo floor($num1); //Retorna 15
?>
Andy Samuel
  • 1,371
  • 7
  • 15