Cuando trato de convertir una cadena en un valor numérico con Parse o TryParse o Convert.ChangeType, no puedo propietario de de separador de miles, ya que se define en el sistema:cadena de conversión numérico y el separador de grupo
si entro:
var d = double.Parse("1,234", CultureInfo.CurrentUICulture);
no devuelve 1234.
Si quiero usar el separador de grupo, debo escribir:
var d = double.Parse("1,234", NumberStyles.Number, CultureInfo.CurrentUICulture);
Esta vez, el resultado es el esperado.
Pero, no quiero forzar el uso del separador de mil, quiero usarlo solo si el sistema lo especifica en la configuración de globalización. ¿Hay una manera de saber si se utiliza el separador (sé que puedo leer el separador de grupo en CultureInfo.CurrentUICulture.NumberFormat.NumberGroupSeparator
)
Saludos Loic
Sí, pero de hecho, quiero usar la función Convert.ChangeType para convertir una cadena genérica en un convertidor numérico y proporcionarlo como una extensión de cadena. Pero Convert.ChangeType no tiene sobrecarga con el parámetro NumberStyles. Solo permite un parámetro IFormatProvider. Y, por cierto, lo que no entiendo es por qué la configuración predeterminada de Parse no cumple con la configuración internacional de mi sistema, donde se establece el uso del separador de grupos. – Loic