PHP - FUNCIÓN NÚMERO AL REVES

   
Vista:

FUNCIÓN NÚMERO AL REVES

Publicado por SILVIA (80 intervenciones) el 13/04/2015 22:32:48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function alreves($numero){
    $centenas=$numero/100;
    $numero=$numero%100;
    $decenas=$numero/10;
    $unidades=$numero%10;
    return $alreves;
}
// Inicio del código
$numero=746;
$centenas=7;
$decenas=4;
$unidades=6;
$alreves=($unidades*100)+($decenas*10)+$centenas;
echo "El número a invertir es: $numero";
echo "<br> <br>";
echo "El número invertido es: $alreves";

¿Cómo podría hacer este ejercicio en un caso general, es decir, que meta el número que meta funcione, tal y como está sólo funciona si el número tiene 3 cifras?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

FUNCIÓN NÚMERO AL REVES

Publicado por Alejandro (198 intervenciones) el 13/04/2015 23:39:10
Si quieres el numero al reves no veo la necesidad de dividir y multiplicar,
Conviertes el numero a cadena "STRVAL()" y asi lo puedes manejar como array siendo cada caracter un elemento del array.
Mides la longitud de la cadena "STRLEN()"
Haces un bucle para recorrer el array desde la longitud-1 hasta 0 y lo vaz apilando en la variable que retornaras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

FUNCIÓN NÚMERO AL REVES

Publicado por SILVIA (80 intervenciones) el 13/04/2015 23:45:48
Lo había pensado, lo que ocurre que tenemos que hacerlo sin utilizar las funciones propias de PHP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

FUNCIÓN NÚMERO AL REVES

Publicado por Alejandro (198 intervenciones) el 13/04/2015 23:54:19
La funcion propia de PHP seria STRREV()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

FUNCIÓN NÚMERO AL REVES

Publicado por Alejandro (198 intervenciones) el 14/04/2015 01:36:16
haces la siguiente operacion en bucle que le valla aumentando 0 y el resultado lo guardas en un array

por ejemplo: 12345

((12345 % 10) - (12345 % 1)) / 1
((5) - (0)) / 1
5 / 1
5

((12345 % 100) - (12345 % 10)) / 10
((45) - (5)) / 10
40 / 10
4

((12345 % 1000) - (12345 % 100)) / 100
((345) - (45)) / 100
300 / 100
3

((12345 % 10000) - (12345 % 1000)) / 1000
((2345) - (345)) / 1000
2000 / 1000
2

al final solo recorrer el array y tendras el numero al reves
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

FUNCIÓN NÚMERO AL REVES

Publicado por xve (5519 intervenciones) el 14/04/2015 08:41:07
Hola Silvia, aqui te he modificado tu código, haber si te sirve:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function alreves($numero)
{
    $numero=(string)$numero;
    $resultado="";
    for($i=strlen($numero)-1;$i>=0;$i--)
    {
        $resultado.=$numero[$i];
    }
    return (int)$resultado;
}
 
// Inicio del código
$numero=746;
$alreves=alreves($numero);
echo "El número a invertir es: $numero";
echo "<br> <br>";
echo "El número invertido es: $alreves";
?>

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

FUNCIÓN NÚMERO AL REVES

Publicado por SILVIA (80 intervenciones) el 14/04/2015 08:49:29
Si que me sirve, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

FUNCIÓN NÚMERO AL REVES

Publicado por Alejandro (198 intervenciones) el 14/04/2015 18:33:09
jajajajaja Lo primero que dije, y que no le servia, ahora realizado ya le sirve porque solo tiene que copiar y pegar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar