SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: Mr. Blers en Jueves 22 de Julio de 2004, 17:07
-
Estoy teniendo problemas a la hora de pasar un número en formato decimal a string. El problema es que estoy perdiendo precisión. Estoy utilizando la función ToString("e") porque el formato lo quiero en exponencial.
Por ejemplo tengo un decimal cuyo valor es "1110111.2" cuando lo paso a string:
string lcadena = val.ToString("e");
El valor que tiene lcadena es: "1.110111E+006"
Si nos fijamos he perdido el 2 del final.
He leido en msdn y por lo visto solo puedo tener seis número decimales (en los ejemplos que pone tb está truncando).
¿Alguien sabe como no perder precision y cuando lo pase a string tenga TODOS los decimales?
También he probado con la función Parse de decimal, con el CultureInfo, he intentado de todo y he buscado por la red y no he conseguido nada.
Gracias por adelantado.
-
porque no usas un dato tipo double?
-
Estoy utilizando decimal porque "recojo" datos de SQL server de tipo decimal. Tengo variables donde almaceno el valor devuelto. Me interesa por causas ajenas a esto que siga siendo decimal hasta la conversión a string.
¿Si lo paso previamente a double sigo teniendo la misma precisón? ¿De double a string se mantiene la misma precisión?
Gracias.