Programación General > C/C++
No redondear números
player_:
Hay alguna forma de que haciendo cálculos con valores double, el valor se almacene en una variable con los dígitos exactos del cálculo y no con el redondeo automático que hace?
Gracias.
ProfesorX:
No es posible, cuando utilizas double/single, siempre habra un redondeo, esto es debido a la forma en como se almacenan internamente los valores de tipo double/single.
Editado: borre lo que mencione acerca de decimal, ya que decimal no existe en C++, solo en C#, aun asi, lo anterior que no borre si aplica para C++
Saludos :)
player_:
Ya me imaginaba que no se podría, necesitaba hacer unos cálculos bastante precisos pero más o menos lo tengo solucionado.
Para no abrir otro tema aprovecho este para realizar otra pregunta, hay alguna función en c++ para indicar si un fichero existe? El usuario introduce el nombre del fichero y se comprueba si existe en el mismo directorio. Hasta ahora lo único que he conseguido es abrirlo en modo lectura y si existe, cierro el fichero y lo vuelvo a abrir en modo de escritura, ya que si lo abro directamente en modo escritura, aunque el fichero no exista, me dice que existe (lo crea) y escribe en él. Gracias.
su -:
Puedes usar la funcion stat() de <sys/stat.h>
Para Windows: ver esto.
BerserkO:
claro que puedes, utiliza la libreria <iomanip> y utiliza la funcion setpresicion( x ), el parametro que pasas es el numero de decimales que quieres ver.
por ejemplo.
#include <iomanip>
using::setpresicion;
#include <iostream>
using::cout;
main(){
double x = 7.675
double y = 9.9876543
cout << setpresicion(9) << x/y << endl;
}
asi te dara 9 decimales de presicion, espero te ayude.
}
Navegación
[#] Página Siguiente
Ir a la versión completa