Hola grupo,
¿Hay alguna manera de decirle al compilador que las conversiones de
double a int las haga como las hacemos nosotros?
Me explico:
#include <stdio.h>
#include <math.h>
void main()
{
int x;
double y = 2.40000;
x = y;
printf("%d",x);
getchar();
}
Este código mostraría 2, y si cambio el valor de y a 2.6 (pj) sigue
valiendo 2, cuando a mi me interesaría que fuera 3 (>= 0.5 -> +1 < 0.5
-> +0).
De la única manera que he conseguido hacer que x tenga el valor correcto
es así:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
void main()
{
int x;
double y = 2.40000;
char c[10];
sprintf(c,"%.0f",y);
x = atoi(c);
printf("%d",x);
getchar();
}
Haciendo una conversión a string y pasando el valor de la cadena a la
variable integer.
Me parece muy extraño que haya que pasar por una variable alfanumérica
cuando solo quiero tratar valores numéricos.
¿Alguna idea?
Leer las respuestas