Pregunta

Casi tengo el mismo problema que el hombre en este tema:

Convierte flotador que tiene periodo en lugar de coma?

Así que mi

double x = 234.4;
string y = x.ToString();

consigo y == "234,4";

Lo que es peor ... Double.Parse("234.4") emite una excepción.

He escrito un montón de código antes me pidieron periodo en lugar de utilizar una coma, por lo que preferiría tener alguna manera de cambiar mi CultureInfo a nivel mundial .

¿Hay un cierto ajuste en los proyectos que puedo hacer?

He intentado:

        Application.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

tipo de trabajo. Trabajan para la mayor parte de la aplicación, pero todos los controles que residen en las pestañas de mi TabControl todavía quiere usar mis equipos localizada CultureInfo .

¿Alguna idea sobre cómo solucionar esto?

¿Fue útil?

Solución 2

Gracias a Florin comentario Sabaus he encontrado la solución, que fue colocar

        Application.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");

En main () justo antes de crear mi forma.

Ahora no voy a tener que cambiar toda mi .ToString () y Double.Parse () :-) Yey!

Otros consejos

Se podría tratar de usar

double.Parse("...", CultureInfo.InvariantCulture)

y

x.ToString(CultureInfo.InvariantCulture)

en las partes del programa que son positivos es necesario tener tiempo decimal en lugar de comas u otros ajustes regionales dependientes separador decimal.

Espero que ayuda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top