unidad redondeo redondear redondea qué para numeros niños más mil mas ejercicios ejemplos decenas decena cercanas cercana centena ala php rounding

php - redondeo - ¿Cómo redondear un número al 10 más cercano?



redondeo de numeros ejemplos (14)

En realidad, estaba buscando una función que pudiera redondear a la variable más cercana, y esta página seguía apareciendo en mis búsquedas. Entonces, cuando finalmente terminé escribiendo la función yo mismo, pensé que la publicaría aquí para que otros la encuentren.

La función redondeará a la variable más cercana:

function roundToTheNearestAnything($value, $roundTo) { $mod = $value%$roundTo; return $value+($mod<($roundTo/2)?-$mod:$roundTo-$mod); }

Este código:

echo roundToTheNearestAnything(1234, 10).''<br>''; echo roundToTheNearestAnything(1234, 5).''<br>''; echo roundToTheNearestAnything(1234, 15).''<br>''; echo roundToTheNearestAnything(1234, 167).''<br>'';

Se producirá:

1230 1235 1230 1169

¿Cómo podemos redondear un número al 10 más cercano en php?

Digamos que tengo 23 , ¿qué código usaría para redondearlo a 30 ?


Hay muchos puntos en esta pregunta, probablemente todos le darán la respuesta que está buscando. Pero como menciona @TallGreenTree, hay una función para esto.

Pero el problema de la respuesta de @TallGreenTree es que no redondea, redondea al 10 más cercano. Para resolver esto, agrega +5 a tu número para redondear. Si quieres redondear, haz -5 .

Entonces en el código:

round($num + 5, -1);

No puede usar el round mode para redondear, porque eso solo redondea fracciones y no números enteros.

Si quiere redondear al 100 más cercano, debe usar +50 .


Intenta esto ... pasa el número que se redondeará y redondeará al décimo más cercano. Espero que ayude ...

redondo ($ num, 1);


Mi primer impulso fue buscar "php math" en google y descubrí que hay una función central de biblioteca matemática llamada "round ()" que probablemente es lo que quieres.


Para las personas que quieren hacerlo con SQL sin SET SQL_SAFE_UPDATES = 0; UPDATE db.table SET value=ceil(value/10)*10 where value not like ''%0''; , sin usar php, java, python, etc. SET SQL_SAFE_UPDATES = 0; UPDATE db.table SET value=ceil(value/10)*10 where value not like ''%0''; SET SQL_SAFE_UPDATES = 0; UPDATE db.table SET value=ceil(value/10)*10 where value not like ''%0'';


Podemos "hacer trampa" a través de una ronda con

$rounded = round($roundee / 10) * 10;

También podemos evitar pasar por la división de punto flotante con

function roundToTen($roundee) { $r = $roundee % 10; return ($r <= 5) : $roundee - $r : $roundee + (10 - $r); }

Editar: No sabía (y no está bien documentado en el sitio) que la round ahora admite la precisión "negativa", por lo que puede usar más fácilmente

$round = round($roundee, -1);

Editar de nuevo: si siempre deseas redondear, puedes intentar

function roundUpToTen($roundee) { $r = $roundee % 10; if ($r == 0) return $roundee; return $roundee + 10 - $r; }


Prueba esto:

ceil($roundee / 10) * 10;


Quería redondear al siguiente número en el lugar de dígitos más grande (¿hay un nombre para eso?), Así que hice la siguiente función (en php):

//Get the max value to use in a graph scale axis, //given the max value in the graph function getMaxScale($maxVal) { $maxInt = ceil($maxVal); $numDigits = strlen((string)$maxInt)-1; //this makes 2150->3000 instead of 10000 $dividend = pow(10,$numDigits); $maxScale= ceil($maxInt/ $dividend) * $dividend; return $maxScale; }


Tratar

round(23, -1);



floor() bajará.

ceil() subirá.

round() irá al más cercano por defecto.

Divida por 10, haga el tope, luego multiplique por 10 para reducir los dígitos significativos.

$number = ceil($input / 10) * 10;

Editar: Lo he estado haciendo así durante tanto tiempo ... pero la respuesta de TallGreenTree es más clara.


Simplemente redondee al 10 más cercano y luego agregue 10.

round($num, -1) + 10


$value = 23; $rounded_value = $value - ($value % 10 - 10); //$rounded_value is now 30


round($number, -1);

Esto redondeará $ number al 10 más cercano. También puede pasar una tercera variable si es necesario para cambiar el modo de redondeo.

Más información aquí: http://php.net/manual/en/function.round.php