2010-07-09 7 views
1

C# 2005, j'ai mis la culture comme ci-dessous dans Program.cs:Comment convertir chaîne (culture = "en-US"!) Int C# 2005

CultureInfo myCulture = new CultureInfo("bn-IN");// like "en-US", "ja-JP" etc... 
Thread.CurrentThread.CurrentCulture = myCulture; 
Thread.CurrentThread.CurrentUICulture = myCulture; 
Application.CurrentCulture = myCulture; 

Puis, après ouverture de l'application que je choisis mon clavier, et le clavier a frappé 1 qui met ma version 1. maintenant, je veux le convertir en nombre entier afin que je puisse effectuer une addition, soustraction, etc. alors ...

CultureInfo myCulture = Application.CurrentCulture; 
myCulture.NumberFormat.DigitSubstitution = DigitShapes.NativeNational; 
int i = Convert.ToInt32(textbox1.Text, myCulture.NumberFormat);// this line throws exception with message "Input string was not in a current format" 

alors comment convertir une chaîne dans une autre culture (autre que "en-US") à l'entier?

Répondre

2
CultureInfo oldCulture = Thread.CurrentThread.CurrentCulture; 
     Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 

Tapez votre valeur ici avec la culture différente et revenir à votre ancienne culture

Thread.CurrentThread.CurrentCulture = oldCulture; 
+0

Je ne pouvais pas le faire fonctionner. Pouvez-vous s'il vous plaît donner plus de détails. – Samir