Domanda

ho quasi lo stesso problema come il ragazzo in questa discussione:

Convert galleggiante che ha termine al posto di una virgola?

In modo che il mio

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

ho y == "234,4";

Ancora peggio ... Double.Parse("234.4") genera un'eccezione.

Ho scritto un sacco di codice prima mi è stato chiesto di usare periodo, invece di una virgola, così io preferirei avere un modo per cambiare il mio CultureInfo a livello mondiale .

C'è una certa regolazione nei progetti che posso fare?

Ho provato:

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

Si tipo di lavoro. Lavorano per la maggior parte della domanda, ma tutti i controlli che si trovano nelle schede della mia TabControl ha ancora voglia di usare il mio computer localizzato CultureInfo .

Tutte le idee su come risolvere questo?

È stato utile?

Soluzione 2

Grazie a Florin Sabaus commento che ho trovato la soluzione, che era a posto

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

In main () a destra prima ho creato la mia forma.

Ora non voglio dover cambiare tutta la mia .ToString () e Double.Parse () :-) Yey!

Altri suggerimenti

Si potrebbe provare a utilizzare

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

e

x.ToString(CultureInfo.InvariantCulture)

nelle parti del programma che si sono positivi è necessario avere periodo decimali al posto di virgola o altre impostazioni internazionali separatore decimale dipendente.

Speranza che aiuta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top