Как конвертировать строку (culture! = "En-US") в int C # 2005 - PullRequest
1 голос
/ 09 июля 2010

C # 2005, я установил культуру, как показано ниже в Program.cs:

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

Затем, после открытия приложения, я выбираю клавиатуру и нажимаю клавишу 1, которая переводит мою языковую версию 1. ТеперьЯ хочу преобразовать его в целое число, чтобы я мог выполнять сложение, вычитание и т. Д. Итак ...

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"

, как преобразовать строку в другой культуре (кроме "en-US") в целое число

1 Ответ

2 голосов
/ 09 июля 2010
CultureInfo oldCulture = Thread.CurrentThread.CurrentCulture;
        Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");

введите свою ценность здесь с другой культурой и вернитесь к своей старой культуре

Thread.CurrentThread.CurrentCulture = oldCulture;
...