SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: player_ en Lunes 22 de Febrero de 2010, 09:07
-
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.
-
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 :)
-
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.
-
Puedes usar la funcion stat() (http://www.opengroup.org/onlinepubs/000095399/functions/stat.html) de <sys/stat.h>
Para Windows: ver esto. (http://msdn.microsoft.com/en-us/library/14h5k7ff(VS.80).aspx)
-
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.
}
-
No, no se puede:
http://en.wikipedia.org/wiki/Floating_point (http://en.wikipedia.org/wiki/Floating_point" onclick="window.open(this.href);return false;)