Problema con long double / int
Hola, bueno el problema es que quiero convertir un long double que contiene decimales, a un int.
El caso es que tengo:
long double n;
int t;
t = n; // Con esto la T al ser int, solo pilla la parte entera de N, pero a veces no funciona.
Por ejemplo:
N = 3.245
T = 3
N = 12.25
T = 12
N = 4
T = 3 // Esto deberia ser 0, ya que la N es 4.00 no?
Pues si N es un entero, me peta. Quizas por que N sea 3.999 perÃodico.. Pero no se que solución puede tener ésto?
También probé:
t = atoi("n"); // Pero en éste caso la T = 0 siempre, que raro no?
Bueno si alguien me puede dar una solución se lo agradecerÃa, saludos.
El caso es que tengo:
long double n;
int t;
t = n; // Con esto la T al ser int, solo pilla la parte entera de N, pero a veces no funciona.
Por ejemplo:
N = 3.245
T = 3
N = 12.25
T = 12
N = 4
T = 3 // Esto deberia ser 0, ya que la N es 4.00 no?
Pues si N es un entero, me peta. Quizas por que N sea 3.999 perÃodico.. Pero no se que solución puede tener ésto?
También probé:
t = atoi("n"); // Pero en éste caso la T = 0 siempre, que raro no?
Bueno si alguien me puede dar una solución se lo agradecerÃa, saludos.
