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
Author: rvm
Date: Mon, 18 Dec 2006 02:10
Date: Mon, 18 Dec 2006 02:10
20 lines
1640 bytes
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
Author: Pascal Bourguignon
Date: Mon, 18 Dec 2006 03:01
Date: Mon, 18 Dec 2006 03:01
41 lines
2637 bytes
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
Author: Jos� Luis P�rez Diez
Date: Mon, 18 Dec 2006 09:58
Date: Mon, 18 Dec 2006 09:58
16 lines
1692 bytes
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
Author: Alberto Giménez
Date: Mon, 18 Dec 2006 19:15
Date: Mon, 18 Dec 2006 19:15
15 lines
1513 bytes
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