Foros del Web » Programando para Internet » PHP »

decimales a quebrados ???????

Estas en el tema de decimales a quebrados ??????? en el foro de PHP en Foros del Web. hola , estoe creando un sistemita , el cual consta de que ingresas una ecuacion i la resuelve , el unico problema que tengo es ...
  #1 (permalink)  
Antiguo 12/09/2008, 11:13
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años
Puntos: 8
decimales a quebrados ???????


hola , estoe creando un sistemita , el cual consta de que ingresas una ecuacion i la resuelve , el unico problema que tengo es que el resultado me lo da en float , i algunas veces necesito que sea en quebrado , el cual no eh podido , tengo la noceon de como hacerlo en la libreta , pero con numeros chikos ejemplo :

.6 = 6/10 o 3/5

pero por ejemplo si quiero convertir un numero maior como este :

.3333333333333333333 que es igual a 1/3
cuando lo trato de convertir no puedo ,,, esmas no c como :S
espero i me puedan alludar en ese aspecto :)

thanks

  #2 (permalink)  
Antiguo 12/09/2008, 11:20
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 8 meses
Puntos: 5
Respuesta: decimales a quebrados ???????

el problema son los formatos, php tiene una funcion llamada number_format

http://cl.php.net/manual/es/function.number-format.php

ahi tiene varios ej, de formatos
__________________
~~[FiDeLio]~~
  #3 (permalink)  
Antiguo 12/09/2008, 11:56
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años
Puntos: 8
Respuesta: decimales a quebrados ???????


ola de welta , miren, me llego una idea. si genero una tabla de valores con aproximaciones , de deciamles, i la guardo en un arrari , despues comparo el decimal con la tabla i el valor mas aproxiado k sea el k imprima , krreen k funcione????


  #4 (permalink)  
Antiguo 12/09/2008, 12:02
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: decimales a quebrados ???????

leete esto, a ver si te ayuda a programarlo.

http://www.profesorenlinea.cl/swf/li...lafraccion.htm

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 12/09/2008, 12:08
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años
Puntos: 8
Respuesta: decimales a quebrados ???????

muhcas gracias the_web_saint , deja reviso , aunk ando batallando en matematicas en la escuela , soi medio bruto jajaja , esto lo quiero hacer pa los examenes , asi sacare 100 en todos jeje , weno deja cheko la url :) thanks the_web_saint
  #6 (permalink)  
Antiguo 12/09/2008, 12:11
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: decimales a quebrados ???????

Cita:
Iniciado por duskrow Ver Mensaje
muhcas gracias the_web_saint , deja reviso , aunk ando batallando en matematicas en la escuela , soi medio bruto jajaja , esto lo quiero hacer pa los examenes , asi sacare 100 en todos jeje , weno deja cheko la url :) thanks the_web_saint
No hay problema, ahi te explican bn como transformarlo, y lo que debes tener en cuenta, asi entendiendolo en papel, sera mucho mas facil pensar como programarlo
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 12/09/2008, 12:48
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años
Puntos: 8
Respuesta: decimales a quebrados ???????

ia lo hice , de una forma , con la tabla miren aki les dejo el code

Cita:


<form name="form1" method="post" action="">
Numerados

<input name="nume" type="text" id="nume">
<br>
<br>
Denominador
<input name="deno" type="text" id="deno">
<br>
<br>
............................

<label>
<input type="submit" name="Submit" value="Enviar">
</label>
</form>

<?


function comprobar ($numero) {

for ( $i = 1 ; $i <= 100 ; $i++ ) {

for ( $h = 1 ; $h <= 100 ; $h++ ) {

//echo $i."//".$h . " => " . $i/$h . " , " ;

if( $i/$h == $numero ) {
$chey = $i."/".$h . " = " .$i/$h ;
return $chey ;
exit();

}


} // trmina el segundo for

} // termina el primer for


} // termina la funcion

if( isset($_POST[nume]) and isset($_POST[deno]) ) {
$numero = $_POST[nume]/$_POST[deno] ;
echo comprobar ($numero);
}

?>




weno gracias a todos por su apoio

Última edición por duskrow; 12/09/2008 a las 14:38
  #8 (permalink)  
Antiguo 12/09/2008, 18:05
 
Fecha de Ingreso: septiembre-2008
Mensajes: 19
Antigüedad: 15 años, 7 meses
Puntos: 5
Respuesta: decimales a quebrados ???????

Hola,

Para expresar un número decimal en forma de quebrado hay que hallar su fracción generatriz y luego simplificar esta dividiendo numerador y denominador por el máximo común divisor. El máximo común divisor lo obtenemos por el algoritmo de Euclices.

dec2Frac.php

Código PHP:
<?php
class dec2Frac{

    public function 
__construct($flotante){
        
$this->fracGenSimplicada($flotante);
      }

    private function 
fracGenSimplicada($flotante){
        
//---Fracción Generatriz---
        
$parte_decimal substr($flotante,strpos($flotante,'.')+1);
        
$denominador pow(10strlen($parte_decimal));
        
$numerador $flotante*$denominador;
        
//---Simplica Fracción---
        
$MaxComDiv $this->maxComDiv($numerador,$denominador);
        
$numerador=$numerador/$MaxComDiv;
        
$denominador=$denominador/$MaxComDiv;
        echo 
$numerador.'/'.$denominador;
    }
    
    private function 
maxComDiv($numerador,$denominador){
        
//---Máximo Común Divisor (Euclides)---
        
if($denominador == 0){
            return 
$numerador;        
        }
        while(
$denominador != 0){
            
$resto $numerador &#37; $denominador;
            
$numerador=$denominador;
            
$denominador=$resto;
        }
        return 
$numerador;
    }
}
//fin clase
?>
.... para probarlo:

Código PHP:
<?php
include("dec2Frac.php");
$num=0.5;
if(
is_float($num)){
    new 
dec2Frac($num);
}
else
{
    echo 
"No es flotante";
}
?>

Última edición por jam1138; 15/09/2008 a las 14:44
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:17.