Как се настройва какъв да е знака за десетична запетая?

Visual Studio Xamarin Програмиране Основи на програмирането със C#

При мен като въвеждам числя с ". " - ми дава проблем и затваря външната  конзола. Като пиша числата с
", " всичко е наред - смята вярно. Да не би да е от Control Panel - там си ми е зададено да използва за десетична запетая ","?

Това се дължи на регионалните настройки. Когато пишеш код няма как да знаеш какви са настройкити на компютъра, на който ще се изпълнява програмата. Можеш да смениш твоите ще е по-удобно за теб, но го имай впредвид. Използват се InvariantCultureInfo, можеш да го направиш по следния начин:

1-зареждаш using System.Threading;
2-в Main-a-->Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;

така при въвеждане на 2.3 няма да дава exception, но за да не го пишеш във всяка програма и да ти по-удобно можеш да си смениш и регионалните настройки от Control Panel-a.

Между другото това си е казус тъй като нямаш гаранция за това какви са настройките на потребителя.

За пример, ако потребител А запамети във файл числа със запетайка, потребителя Б няма да може да ги отвори, ако настройките му са с точка.

Аз ползвам този метод да взимам double от string:
https://gist.github.com/4843afb0ce0cabc88cb2.git

Ако намерите и други варианти ще се радвам да ги споделите.

Аз съм с регион Бг и десетична точка и изобщо не мога да въведа 1,50; веднага гърми - не харесва формата.


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация