Foros del Web » Programando para Internet » PHP »

resultado de un cociente entero

Estas en el tema de resultado de un cociente entero en el foro de PHP en Foros del Web. Hola: ando elaborando un un pequeño desarollo: $entero = rand(1,19); $porcentaje = $entero*5;//para que salga un numero "redondo" $numero = rand(10,99); $resultado =($porcentaje*$numero)/100; es una ...
  #1 (permalink)  
Antiguo 15/11/2013, 05:18
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
resultado de un cociente entero

Hola:

ando elaborando un un pequeño desarollo:

$entero = rand(1,19);
$porcentaje = $entero*5;//para que salga un numero "redondo"
$numero = rand(10,99);
$resultado =($porcentaje*$numero)/100;

es una manera sencilla de calcular un tanto por ciento.

Pero como hacerlo para que el resultado sea un numero entero?

Un saludo
  #2 (permalink)  
Antiguo 15/11/2013, 06:47
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: resultado de un cociente entero

Puedes usar ceil(), round(), floor()
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 15/11/2013, 07:40
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: resultado de un cociente entero

Muchas gracias por tu respuesta.

Pero no se trata de redondearlo, sino como plantearlo para que el resultado sea entero.

un saludo
  #4 (permalink)  
Antiguo 15/11/2013, 08:22
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: resultado de un cociente entero

Tendrias que ir comparando el valor si es entero lo imprime si no, no lo imprime
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #5 (permalink)  
Antiguo 15/11/2013, 13:46
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: resultado de un cociente entero

De por si, en el caso del porcentaje u otra operacion con división, el número a veces no puede ser entero, nos guste o no.

100 dividido en 3 nunca nos va a dar un numero entero, por ejemplo. No hay forma que el resultado sea entero, a menos que lo redondees.

Deberías decirnos de que se trata tu proyecto, y porque necesitas SI O SI un entero como resultado... a ver si algo conseguimos... saludos.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #6 (permalink)  
Antiguo 15/11/2013, 14:12
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: resultado de un cociente entero

Gracias por tu respuesta.

Intento expicarme mejor:
- Se trata de comparar dos variables y ver si son "iguales"

$resultado: 36

$resultado_introducida: 36

Se comparan y son iguales

- si los numeros son decimales la cosa se complica un poco, pero se solventa usando algo asi

$resultado=number_format($resultado,2,',','');

$resultado: 36.25

$resultado_introducida: 36.25

- Pero mi problema insalvable hasta el momento es cuando se da este caso:

$resultado: 36,00

$resultado_introducida: 36

Matemáticamente es correcto, pero cuando comparo las variables me dice que es incorrecto

Espero haberme explicado mejor, gracias por vuestro tiempo
  #7 (permalink)  
Antiguo 15/11/2013, 16:07
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: resultado de un cociente entero

Por ejemplo con esto: http://us3.php.net/intval
__________________
Grupo Telegram Docker en Español
  #8 (permalink)  
Antiguo 15/11/2013, 16:17
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: resultado de un cociente entero

gracias¡¡¡

Me acabo de leer lo que has posteado y sino lo he entendido mal, sirve para tomar la parte entera.

Pero no es exactamente lo que busco, sino comparar numeros que igual no estan en la misma "unidad", ...


igual es imposibe, no se
  #9 (permalink)  
Antiguo 15/11/2013, 16:20
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: resultado de un cociente entero

Según lo que pusiste:

$resultado: 36,00

$resultado_introducida: 36

Entonces:

$resultado: intval(36,00): 36

$resultado_introducida: 36


Saludos
__________________
Grupo Telegram Docker en Español
  #10 (permalink)  
Antiguo 15/11/2013, 16:35
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: resultado de un cociente entero

si, pero cuando es 36,65?

perdemos el ,65?

ya pienso que esto es tarea de titanes¡¡¡
  #11 (permalink)  
Antiguo 15/11/2013, 16:38
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: resultado de un cociente entero

Convierte los dos a float (en caso de que $resultado no de siempre float): http://us3.php.net/manual/es/function.floatval.php

Saludos
__________________
Grupo Telegram Docker en Español
  #12 (permalink)  
Antiguo 15/11/2013, 16:49
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: resultado de un cociente entero

Esto ya ni lo entendi¡¡¡¡¡
  #13 (permalink)  
Antiguo 15/11/2013, 16:51
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: resultado de un cociente entero

1.- Convierte los dos resultados a float.
2.- Compararlos.

¿Que parte se te dificulta?
__________________
Grupo Telegram Docker en Español
  #14 (permalink)  
Antiguo 15/11/2013, 16:59
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: resultado de un cociente entero

que es convertirla en float¿
  #15 (permalink)  
Antiguo 15/11/2013, 17:02
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: resultado de un cociente entero

Un tipo de dato con valor flotante, o de otra manera, con decimales. Ahí te dejé el link.
__________________
Grupo Telegram Docker en Español
  #16 (permalink)  
Antiguo 15/11/2013, 19:05
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: resultado de un cociente entero

Código PHP:
Ver original
  1. $resultado1 = 36.00;
  2. $resultado2 = 36;
  3.  
  4. if((float) $resultado1 == (float) $resultado2) {
  5.       // Son iguales
  6. }

Técnicamente, eso sería correcto; prácticamente, podría no funcionar.

Lee el manual: http://www.php.net/manual/es/language.types.float.php

Y no olvides leer el enlace de Carlangueitor.
__________________
- León, Guanajuato
- GV-Foto
  #17 (permalink)  
Antiguo 16/11/2013, 01:58
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: resultado de un cociente entero

He seguido los consejos de Triby lo he probado;

tiene el siguiente fallo:

si el el resutado es 27,54

da como correcto: 27, 27,3 o 27,888888887


Creo que solo compara la parte entera, nose....

Última edición por miriamgomez; 16/11/2013 a las 02:08
  #18 (permalink)  
Antiguo 16/11/2013, 10:30
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: resultado de un cociente entero

No todo número tiene una representación exacta como número float.
Por eso, si es posible, es mejor utilizar bcmath:

Código PHP:
Ver original
  1. <?php
  2. if(bcsub("35","35.00",2)==0)
  3. {
  4.      echo "Iguales";
  5. }
  6. ?>
  #19 (permalink)  
Antiguo 17/11/2013, 02:46
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: resultado de un cociente entero

Soy el colmo de las desgracias¡¡¡

He probado el consejo que me has daso y en principio funciona.

Pero hay un pero, dichosos peros¡¡¡

Uno de los resultados es introducido con coma:
35,4

y aqui se fastidio el invento.

Se que con esta función se pasan los puntos a coma
$resultado=number_format($resultado,2,',','');

pero hay forma de hacerlo al revés

35,4 pasar a 35.4=
  #20 (permalink)  
Antiguo 17/11/2013, 03:19
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: resultado de un cociente entero

A falta de una solución mas "científica" os explico el parche que he usado:

$resultadoconcoma = $_POST['mi_solucion'];
$coma = array(",");
$punto = array(".");

$resultadoconpunto= str_replace($resultadoconcoma, $punto, $coma);


Mil gracias a todos por vuestro tiempo y paciencia
  #21 (permalink)  
Antiguo 17/11/2013, 07:26
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: resultado de un cociente entero

Cita:
Iniciado por miriamgomez Ver Mensaje
Soy el colmo de las desgracias¡¡¡

He probado el consejo que me has daso y en principio funciona.

Pero hay un pero, dichosos peros¡¡¡

Uno de los resultados es introducido con coma:
35,4

y aqui se fastidio el invento.

Se que con esta función se pasan los puntos a coma
$resultado=number_format($resultado,2,',','');

pero hay forma de hacerlo al revés

35,4 pasar a 35.4=
No hay peros...ni inventos...Lo que tienes que saber es que el "problema" que intentas resolver se engloba dentro del problema de la "localizacion" (locale), que afecta a qué simbolos se usan en los números, cuál es el simbolo de la moneda, cómo se ordenan alfabéticamente las palabras,etc.
Y digamos que ese problema lo han tenido millones de programadores antes.Y siendo una cosa tan común, es de esperar que haya alguna forma de solucionarlo, sin recurrir a "str_replace".
Código PHP:
Ver original
  1. <?php
  2. $fmt = numfmt_create( 'es_ES', NumberFormatter::DECIMAL );
  3. $num = "1.512,25";
  4. if(numfmt_parse($fmt, $num)==1512.25)
  5. {
  6.    echo "SI";
  7. }
  8. else
  9.    echo "NO";

Etiquetas: entero, resultado
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




La zona horaria es GMT -6. Ahora son las 08:23.