🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
4 messages
4 total messages Started by rvm Mon, 18 Dec 2006 02:10
Pasar de float a int
#615
Author: rvm
Date: Mon, 18 Dec 2006 02:10
20 lines
1640 bytes
Estoy intentando hacer un programa en Qt (que supongo que ya sab�is que se
programa en C++). M�s o menos me las apa�o usado sus widgets y sus funciones.
Pero ahora me encuentro con algo muy elemental, pero que no s� muy bien c�mo se
hace.

�C�mo paso en C++ un n�mero float al entero m�s cercano?

Estoy haciendo algo as�:
int n = (int) variable_en _float; (cuyo valor por ejemplo es 80.99999)
pero al final resulta que n es 80 y no 81.

Y por otro lado, �c�mo divido dos enteros para que el resultado sea un float?
Ahora hago as�:
float n = (float) 4/3;

Si no pongo lo de (float) me da un entero. �Es esta la forma correcta de
hacerlo?

-- 
rvm
Re: Pasar de float a int
#616
Author: Pascal Bourguignon
Date: Mon, 18 Dec 2006 03:01
41 lines
2637 bytes
rvm <rvm@agujero-negro.escomposlinux.org> writes:

> Estoy intentando hacer un programa en Qt (que supongo que ya sab�is que se
> programa en C++). M�s o menos me las apa�o usado sus widgets y sus funciones.
> Pero ahora me encuentro con algo muy elemental, pero que no s� muy bien c�mo se
> hace.
>
> �C�mo paso en C++ un n�mero float al entero m�s cercano?
>
> Estoy haciendo algo as�:
> int n = (int) variable_en _float; (cuyo valor por ejemplo es 80.99999)
> pero al final resulta que n es 80 y no 81.

man roundl
man floorl
man ceill
man truncl


> Y por otro lado, �c�mo divido dos enteros para que el resultado sea un float?
> Ahora hago as�:
> float n = (float) 4/3;

No estoy seguro de las prioridades. Escribir�a: float n = ((float)4)/3;


> Si no pongo lo de (float) me da un entero. �Es esta la forma correcta de
> hacerlo?

Si.  Es decir, si tienes n�meros literales, mejor asi: float n=4.0/3.0;
Si tienes variables enteras:  int i,j;  float n=((float)i)/j;


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

COMPONENT EQUIVALENCY NOTICE: The subatomic particles (electrons,
protons, etc.) comprising this product are exactly the same in every
measurable respect as those used in the products of other
manufacturers, and no claim to the contrary may legitimately be
expressed or implied.
Re: Pasar de float a int
#617
Author: Jos� Luis P�rez Diez
Date: Mon, 18 Dec 2006 09:58
16 lines
1692 bytes
In article <ku9h54-maa.ln1@dominio.inventado>, Rvm wrote:
> Estoy haciendo algo as�:
> int n = (int) variable_en _float; (cuyo valor por ejemplo es 80.99999)
> pero al final resulta que n es 80 y no 81.
>

Para positivos

Int n = (int) variable_en _float + .5;

seguramente tambien tendras en librerias round , celling y floor 

--
Los programadores esta ocupados intendtado mejorar los programas a 
prueba de idiotas. Mientras tanto el universo  intenta mejorar los 
idiotas. El universo va ganando
Re: Pasar de float a int
#618
Author: Alberto Giménez
Date: Mon, 18 Dec 2006 19:15
15 lines
1513 bytes
rvm wrote:

> Y por otro lado, �c�mo divido dos enteros para que el resultado sea un float?
> Ahora hago as�:
> float n = (float) 4/3;

Escribe una de las variables en formato float para forzar la conversi�n
impl�cita

float n = 4. / 3;

-- 
Luis Alberto Gim�nez
JabberID: SimManiac@bulmalug.net
GnuPG ID: 0x3BAABDE1
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads