Tengo algunos valores flotantes que quiero convertir a una cadena, quiero mantener el mismo formato al convertir, es decir, 999.0000 (float) -> 999.0000 (String). Mi problema es cuando los valores contienen un número arbitrario de ceros después del punto decimal, como en el ejemplo anterior, se quitan cuando se convierte en una cadena, por lo que el resultado que realmente encuentro es 999.Especificador de formato de flotante a cadena
Miré en los especificadores de formato para el método toString()
en MSDN, el especificador RoundTrip ('R') parece que producirá lo que quiero, pero solo es compatible con las variables Single, Double y BigInt. ¿Hay un especificador de formato como este para las variables de flotación? ¿O sería más fácil simplemente convertir los valores en dobles?
ACTUALIZACIÓN: Para mayor claridad, la razón por la que quiero mantener los ceros finales es porque estoy haciendo una comparación de decimales, es decir, estoy comparando el número de dígitos después del lugar decimal entre dos valores. Entonces, por ejemplo, 1.00 y 1.00000 tienen un número diferente de dígitos después del punto decimal. Sé que es una solicitud extraña, es por trabajo y el requisito viene de muy alto.
ACTUALIZACIÓN 2-3-11:
Estaba pensando en esto demasiado duro, estoy leyendo los números de un archivo txt y luego analizar como flotadores, voy a modificar el programa para comprobar si los valores de cadena son decimales o números enteros. Perdón por perder su tiempo, aunque esto fue muy perspicaz.
el número de dígitos después del punto decimal?si desea mantener esa dinámica, suponiendo que el valor es flotación correcta, utilice .ToString ("G") –
Los dígitos variarán, para mantenerlo simple, diría que el rango de dígitos después del punto decimal puede estar en cualquier lugar entre 1 y 5. – kingrichard2005
.ToString ("G") es mejor para el rango variable –