¿Cómo convertir el valor porcentual flotante en porcentaje entero?

¿Cómo convertir el valor del número de porcentaje flotante al valor del número de porcentaje entero en PHP?

Ejemplo: 3.8461538461538 % = 4 %

Actualización: aquí está mi código, codifiqué para obtener el valor porcentual, pero obtengo un valor decimal, pero lo necesito sin valor decimal.

$total = array_sum($total_count);
$percent = ($occurs/$total)*100;
echo $percent ; 
echo "%";

preguntado el 03 de mayo de 12 a las 20:05

¿Qué intentaste? (¿Y cuál es el tipo del valor? ¿Una cuerda? ¿Un número?) -

3 Respuestas

Esto se hace con redondo () - Redondea al int más cercano

<?php 
echo round('3.8461538461538'); //4
?>

También hay:

suelo() -- Redondear fracciones hacia abajo.

hacer techo() -- Redondear fracciones hacia arriba.

contestado el 03 de mayo de 12 a las 20:05

utilizan el round() . es una función de PHP.

Edit: Código dado:

$total = array_sum($total_count);
 $percent = ($occurs/$total)*100;
 echo round($percent). "%";

Por ejemplo:

$number="3.8461538461538%";   //if it's a string with % in the end.
$number=substr($number, 0,-1);  //It type converts automatically here. Lazy code :)
$number_rounded=round($number);

or

$number=3.8461538461538;  //If it's just a float.
$number_rounded=round($number);

contestado el 03 de mayo de 12 a las 20:05

<?php number_format(3.8461538461538); ?>

Puede especificar en el segundo argumento el número de puntos decimales (el valor predeterminado es 0).

contestado el 03 de mayo de 12 a las 20:05

@Jennifer number_format() es para convertir formatos de números. Para ser específicos, para crear valores de moneda separados por comas y en adelante. Y por lo tanto, va a ser más pesado que round() en muchos sentidos. No entiendo por qué es la respuesta 'correcta' en lugar de round() . :-)- Niranjan

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.