С# Запись английских чисел в файл, когда окна используют арабский интерфейс

Мои окна используют арабский язык. Когда я пишу числа в файл, они появляются в арабском формате, но мне нужно писать в английском формате,

хотя я использую эти две строки перед записью в файл:

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

и я использую string.Format(new CultureInfo("en-US") , myNumbers)

почему это происходит?


person mbmsit    schedule 16.02.2011    source источник
comment
Как вы пишете в файл?   -  person fejesjoco    schedule 16.02.2011
comment
Смотрите мой ответ ниже. Код не очень хорошо отображается в комментариях!   -  person Mike Christian    schedule 16.02.2011


Ответы (1)


Попробуйте указать числовой формат:

string.Format(new CultureInfo("en-US"), "{0:n}", myNumbers)

Когда я запускаю следующий код на своем компьютере с Windows 7 на английском языке в США, я получаю идентичные результаты. Какой формат вы ожидаете?

Console.WriteLine(String.Format(new CultureInfo("ar-SA"), "{0:n}", 123456789));
Console.WriteLine(String.Format(new CultureInfo("en-US"), "{0:n}", 123456789));

123,456,789.00

123,456,789.00

person Mike Christian    schedule 16.02.2011