elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [?] Ayuda como redondeo el valor de una variable en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [?] Ayuda como redondeo el valor de una variable en c  (Leído 2,843 veces)
.:: KsV ::.

Desconectado Desconectado

Mensajes: 56



Ver Perfil
[?] Ayuda como redondeo el valor de una variable en c
« en: 26 Diciembre 2015, 06:09 am »

Bueno tengo dos variables del tipo float

x= 1.12349
y=1.1248648

si las compara para ver si son iguales con (if x ==y){

}

Dara resultado falso

lo q qiero es q redonde el valor de las 2 variables a 2 desimales de esta forma al compararla dara verdadero

en vb usaba round()

x=round(1.12349,2)
y=round( 1.1248648,2)

if x=y then
msgbox "="
elae
msgbox "<>"
end if

En C como qdaria

Saludos


« Última modificación: 26 Diciembre 2015, 06:25 am por .:: KsV ::. » En línea

No confíes en aquel que una vez te defraudó.... William Shakespeare
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: [?] Ayuda como redondeo el valor de una variable en c
« Respuesta #1 en: 26 Diciembre 2015, 06:40 am »

Creo que no se puede. Pero si puedes comparar variables de tipo float utilizando otro método. fíjate en éste link; http://plagatux.es/2009/07/tip-cc-precision-en-numeros-reales/

Código
  1. if (fabs (x-b) < error)

Es eso lo que buscas, sólo que tienes que establecer un valor para "error" que mientras más pequeño sea más precisa será la comparación. El fabs es una función para devolver el valor absoluto del parámetro y está en math.h

Este otro link ya es por si quieres saber más: http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm


« Última modificación: 26 Diciembre 2015, 06:43 am por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: [?] Ayuda como redondeo el valor de una variable en c
« Respuesta #2 en: 26 Diciembre 2015, 10:19 am »

Puedes hacer tu propia función 'round':

Código
  1. #include <math.h>
  2.  
  3. double Round(double d, int decimals) {
  4.    return (double)((int)(d * pow(10, decimals))) / pow(10, decimals);
  5. }

Estoy casi seguro de que existe una versión más reducida, pero al menos da una idea...
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Zekkk

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: [?] Ayuda como redondeo el valor de una variable en c
« Respuesta #3 en: 26 Diciembre 2015, 22:23 pm »

Depende de como quieras redondear, si quieres hacer algo como lo que propone class_OpenGL es mucho mas eficiente hacer
Código:
printf("%.2f", valor)
si lo que quieres es redondear al valor mas cercano, al mas alto, o al mas bajo ya hay funciones que hacen eso: roundf, ceilf, floorf respectivamente.
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: [?] Ayuda como redondeo el valor de una variable en c
« Respuesta #4 en: 27 Diciembre 2015, 00:42 am »

Claro, pero mi caso es más general :P
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
.:: KsV ::.

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: [?] Ayuda como redondeo el valor de una variable en c
« Respuesta #5 en: 29 Diciembre 2015, 04:23 am »

Gracias Por Los Links Los Checare 
En línea

No confíes en aquel que una vez te defraudó.... William Shakespeare
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA. Una variable con mas de un valor
Programación Visual Basic
Poyson 5 2,344 Último mensaje 30 Septiembre 2005, 00:16 am
por Slasher-K
Como imprimir el valor de una variable definida en una variable...
Scripting
nhaalclkiemr 5 6,974 Último mensaje 3 Mayo 2007, 17:58 pm
por sirdarckcat
¿como creo una variable con un valor aleatorio en bat?
Scripting
PrEmUt0s 4 6,598 Último mensaje 15 Octubre 2008, 23:28 pm
por SmartGenius
[ayuda]Como dar valor a una variable al pulsar un link?
PHP
anonimo12121 3 5,675 Último mensaje 4 Abril 2012, 17:26 pm
por anonimo12121
[Ayuda] Se queda sin valor la variable
Scripting
sabeeee 4 2,920 Último mensaje 10 Diciembre 2014, 16:06 pm
por sabeeee
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines