Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/03/2011, 03:14
Avatar de sfx4ever
sfx4ever
 
Fecha de Ingreso: noviembre-2003
Ubicación: aqui
Mensajes: 384
Antigüedad: 20 años, 5 meses
Puntos: 2
Respuesta: Formateo de decimales con ajuste

Gracias Vallu por tu respuesta, como había dicho, ya me había revisado las páginas de funciones de php, pero siguiendo tu consejo, revisando de nuevo round(), en los comentarios me he encontrado con una sorpresa, la funcion roundUpTo, que hace exactamente lo que quiero.

La pongo aqui (y el script para adecuarse a lo que yo necesito) por si alguien más la necesita:

Código PHP:
    $desdepvp[0]=0;
    
$desdepvp[1]=0.1;
    
$desdepvp[2]=1;
    
$desdepvp[3]=5;
    
$desdepvp[4]=20;
    
$desdepvp[5]=100;

    
$ajuste[0]=0.0010;
    
$ajuste[1]=0.05;
    
$ajuste[2]=0.1;
    
$ajuste[3]=0.2;
    
$ajuste[4]=0.5;
    
$ajuste[5]=1;
    
    
    
$num 125.21//numero a redondear
    
    
for ($i=0;$i<count($desdepvp);$i++){
        if (
$num>$desdepvp[$i] && $num<=$desdepvp[$i+1]){
            echo 
"<br>$num <i>(entre ".$desdepvp[$i]." y "$desdepvp[$i+1] .", ajuste:".$ajuste[$i]." )</i> = " roundUpTo($num,$ajuste[$i]);
        }
    }
    if (
$num>$desdepvp[5]){
        echo 
"<br>$num <i>(mayor que ".$desdepvp[5].", ajuste: ".$ajuste[5].")</i> = ".roundUpTo($num,$ajuste[5]);
    }
    
    function 
roundUpTo($number$increments) {
    
$increments $increments;
    return (
ceil($number $increments) / $increments);
    } 
Para probar el script simplemente ir dandole distintos valores a la variable $num.

SALUDOS!