por - Los dobles de C#muestran una coma en lugar de un punto
float parse c# (3)
Gracias a Florin Sabaus comento que encontré la solución, que era colocar
Application.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
en Main () justo antes de crear mi formulario.
Ahora no tendré que cambiar todos mis .ToString () y Double.Parse () :-) ¡Yey!
Casi tengo el mismo problema que el chico en este hilo:
¿Convierte Float que tiene punto en lugar de coma?
Para que mi
double x = 234.4;
string y = x.ToString();
Me sale y == "234,4"
;
Peor aún ... Double.Parse("234.4")
arroja una excepción.
Escribí un montón de código antes de que me pidieran utilizar el período en lugar de la coma, por lo que preferiría tener alguna forma de cambiar mi CultureInfo a nivel global .
¿Hay alguna configuración 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");
Ellos tipo de trabajo. Funcionan durante la mayor parte de la aplicación, pero todos los controles que residen en las pestañas de mi TabControl todavía quieren usar mis computadoras Localized CultureInfo .
¿Alguna idea sobre cómo resolver esto?
Pruebe esta solución: http://www.codeproject.com/KB/cs/Change_App_Culture.aspx
Puedes intentar usar
double.Parse("...", CultureInfo.InvariantCulture)
y
x.ToString(CultureInfo.InvariantCulture)
en las partes del programa en las que es positivo, debe tener un período decimal en lugar de una coma u otra configuración regional dependiente del separador decimal.
Espero eso ayude.