• Publicidad

Quitar decimales

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Quitar decimales

Notapor kitosss » 2006-12-15 06:52 @327

Pues eso tan fácil, no sé si es porque somos viernes o qué pero no sé cómo hacerlo jeje, me explico:
¿¿Hay alguna forma que al hacer una división no se quede con los decimales?? o una vez echa la división, por ejemplo, da 5.6666666 podría quedarme sólo con el primer valor.
Había intentado algo rudimentario que es hacer un split(".",$variable) y luego coger el primer valor del vector pero no me deja partir la variable por el " . "
kitosss
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2006-12-05 15:39 @693

Publicidad

Notapor explorer » 2006-12-15 07:13 @342

Tú lo que quieres es la parte entera:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$x = int( $numerador / $divisor );
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Ojo. Es la parte entera. NO es el redondeo al entero más alto.

Si quieres redondear, tendrás que buscar (en este foro).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor monoswim » 2006-12-15 07:14 @343

El split sería así

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
split(/\./,$variable);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero lo mejor sería usar la función int

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $numero = int($variable);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Espero que te sirva

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor explorer » 2006-12-15 07:28 @352

Hemos coincidido monoswim y yo en el mismo minuto y casi te damos la misma respuesta. :-D

Sobre el split, sólo comentar, a lo añadido por él:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$x = ( split(/\./, $numerador/$divisor) )[0];
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
split nos devuelve una lista de valores, que han sido separados por el ".". Al estar dentro de unos paréntesis, les tenemos "resguardados" como si fueran un array. Y si son un array, podemos sacar de ellos el primer elemento ([0]) que, como un escalar, es almacenado en $x.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor monoswim » 2006-12-15 11:35 @524

Es verdad que casi nos chocamos al responder este post...jeje

Tienes razón con lo de split, se me pasó por completo...

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor Rene Serrano » 2006-12-15 13:53 @620

Bueno. Creo que también puedes ocupar un sprintf si lo que quieres es redondear la cantidad.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
 $var = sprintf("%02d",$resul)
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


A ver si te ayuda
Rene Serrano
Perlero nuevo
Perlero nuevo
 
Mensajes: 86
Registrado: 2006-11-27 12:35 @565
Ubicación: El salvador CA


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados