Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2015, 22:58   #1
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию Разделитель дробной части

Итак, ввод исходных данных на форме в текстбоксы выполнен через запятую. Например 123,4. На компьютерах с настройками разделителя точка программа работать не будет. Как сделать, что бы работало независимо от региональных настроек?
Например ввожу так:
Gc = Convert.ToDouble(textBox1.Text);

Как изменится строка, чтобы расчеты выполнялись независимо от тго точку или запятую я ввел в качестве разделителя?
userrrr вне форума Ответить с цитированием
Старый 01.10.2015, 08:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Как я понимаю:
Код:
NumberFormatInfo MyFormat= new System.Globalization.NumberFormatInfo();
MyFormat.NumberDecimalSeparator = ".";
https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.10.2015, 09:13   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А зачем вы сделали ввод только через запятую? Если на компьютере разделитель точка и пользователь ввел через точку, то будет работать.



Можно так:
Код:
double.Parse(str.Replace(",", "."), CultureInfo.InvariantCulture);
В InvariantCulture всегда точка.
Код:
            foreach (var str in new[] {"3.5", "3,5"})
            {
                Debug.WriteLine(double.Parse(str.Replace(",", "."), CultureInfo.InvariantCulture));   
            }
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 01.10.2015 в 09:16.
Alex11223 вне форума Ответить с цитированием
Старый 01.10.2015, 12:19   #4
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

А куда код этот прописать?
userrrr вне форума Ответить с цитированием
Старый 01.10.2015, 12:43   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Какой именно?

Ну сделайте функцию типа double MyDoubleConvert(string str) и вызывайте вместо того, что у вас.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.10.2015, 12:48   #6
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

У меня 20 текстбоксов, в которые вводятся исходные данные для расчетов. Типа:
Gc = Convert.ToDouble(textBox1.Text);
Я хочу, чтобы независимо от того вводят ли в текстбоксы числа, разделяя целую и дробную части хоть точкой, хоть запятой - все работало.
Как?
userrrr вне форума Ответить с цитированием
Старый 01.10.2015, 12:51   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Я ж написал как.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.10.2015, 12:53   #8
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Как это будет выглядеть то?
userrrr вне форума Ответить с цитированием
Старый 01.10.2015, 13:02   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код:
double num = MyDoubleConvert(textBox1.Text);
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 01.10.2015 в 15:59.
Alex11223 вне форума Ответить с цитированием
Старый 01.10.2015, 17:48   #10
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

блин, не пойму.
userrrr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить разделитель целой и дробной части в системе ольгаг Общие вопросы .NET 1 18.03.2014 13:38
Разделитель целой и дробной части IgorGO Microsoft Office Excel 3 25.11.2012 11:08
Разделитель целой и дробной части. gusluk Общие вопросы Delphi 2 12.11.2008 08:45
Разделитель целой и дробной части neugadal Microsoft Office Excel 3 09.10.2008 07:20
Задать разделитель дробной части Taurus Win Api 1 04.09.2007 08:20