Вводя число в программу на C#, дробную часть приходится отделять запятой. Также программа выводит числа, используя в них запятую. Но если вдруг становится нужным, чтобы дробная часть отделялась точкой, как это сделать? Покажем в данной статье.
Напишем на языке программирования C# простую программу, которая считывает число типа double и выводит его в консоль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System; namespace TestConcole { class Program { static void Main(string[] args) { Console.Write("Введите число: "); double a = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Введённое число = " + a); } } } |
Запустим её (Ctrl + F5) и введём дробное число с запятой.
Всё отлично работает.
Кроме того, программа выводит входное число также с запятой.
Но если мы попробуем ввести число с точкой в качестве разделителя целой и дробной части:
То получим ошибку при конвертации входной строки в формат переменной с плавающей точкой double.
Это происходит из-за того, что по умолчанию Visual Studio в программе устанавливает российские параметры локализации. А у нас, как известно, дробная часть отделяется запятой.
Чтобы использовалась точка вместо запятой в дробном числе, необходимо сменить в программе параметры локализации и сделать их западными: en-US. Для этого нужно добавить в самое начало программы на C# (в данном случае в начале метода Main) следующую строку:
1 |
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); |
И тогда во входных и выходных данных корректно будет работать точка:
Поделиться в соц. сетях: