C # dobles muestran coma en lugar del período
-
21-08-2019 - |
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?
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.
Trate de esta solución: http://www.codeproject.com/KB/cs /Change_App_Culture.aspx