PDA

Ver la versión completa : Conversión de Double a Decimal



Javier MMM
19-05-2008, 01:04
Hola, soy nuevo en Visual C#.NET y tengo un poco de problemas con operaciones con punto flotante.

En un proyecto estoy aplicando el método de Newton, pero en una de las operaciones, en la cual defino mis variables como Double, una de las variables rebasa el tamaño definido. Por esta razóm no se puede terminar correctamente el método. Necesito aumentar el número de elementos después del punto, conviertiendo la variable a Decimal y después regresar a Double e imprimir mis resultados, pero no he encontrado la función, o la menra, de hacerlo.

Espero puedan ayudarme con este problema. De antemano, gracias.

gondar_f
19-05-2008, 09:36
Si el tipo double se te queda pequeño prueba con el tipo decimal (System.Decimal).

Cosas a tener en cuenta si usas el tipo decimal:

decimal variable= 1.5m; //OK
decimal variable= 1.5; //mal, estás asignando un double a un decimal, algo no permitido
decimal variable= 23; //OK, solo hay problems con números en puntu flotante

decimal dvariable=1.6m;
double dbvariable=3;
dvariable= (decimal) dbvariable; //hay que hacer explicitamente la combersión
dbvariable= (double) dvariable; //hay que hacer explicitamente la combersión

En lineas generales esl tipo decimal es un tipo de rango amplio (creo que 28 dígitos significativos), que no tiene problemas para trabajar con enteros (podiamos decir que el tipo decimal es un entero con parte decimal) pero que hay que hacer combersiones explicitas cuando entran de por medio variables de punto flotante... Es adecuado cuando el tipo double se te queda pequeño o cuanto tienes miedo que las peculiaridades de los números en punto flotante te pueda dar un disgusto...

Un Saludo