Вопрос C# Проблема с пользовательским вводом

Начинающий
Статус
Оффлайн
Регистрация
21 Фев 2019
Сообщения
280
Реакции[?]
25
Поинты[?]
3K
Здравствуйте

Хотелось бы узнать, как это делать, а то у самого не получается.
Я хочу чтобы тип double принимал пользовательский ввод (допустим я ввел значение 5.5), а дальше уже через метод он округлялся до близкого ему числа (6) и выводился на экран.

Проблема в строчке double a = Console.ReadLine(); подскажите, пожалуйста, как можно это осуществить. Я уже пробовал int b = Convert.ToInt32(Console.ReadLine()); но когда ввожу десятичное число, то вылетает ошибка.


using System;

namespace fdfd
{
class Program
{
static void Main(string[] args)
{

double a = Console.ReadLine();
int b = Convert.ToInt32(a);
Console.WriteLine(b);
Console.ReadKey();


}
}
}
 
ldloc.s <d0t.net> stloc.s <Reversed>
Пользователь
Статус
Оффлайн
Регистрация
21 Окт 2018
Сообщения
214
Реакции[?]
337
Поинты[?]
1K
ReadLine() принимает строку, как он тебе автоматом ее в дабл впихнет? Или принимай строку в переменную, а потом конверти, или
Используй:
C#:
double x=double.Parse(Console.ReadLine());
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
21 Фев 2019
Сообщения
280
Реакции[?]
25
Поинты[?]
3K
ReadLine() принимает строку, как он тебе автоматом ее в дабл впихнет? Или принимай строку в переменную, а потом парси, или
Используй:
C#:
double x=double.Parse(Console.ReadLine());
Спасибо, я новичок просто, еще учусь
 
Начинающий
Статус
Оффлайн
Регистрация
22 Ноя 2019
Сообщения
47
Реакции[?]
13
Поинты[?]
0
уже пробовал int b = Convert.ToInt32(Console.ReadLine()); но когда ввожу десятичное число, то вылетает ошибка.
Convert.ToInt32 - это конвертация в int
int - это целое число
Ошибка вылетает из-за попытки сконвертировать строку которая содержит что-то кроме цифер в целое число
Вот так должно работать: double a = Convert.ToDouble(Console.ReadLine());
А вообще вся реализация того что ты хочешь будет выглядеть вот так

C#:
using System;

namespace fdfd {
    class Program {
        static void Main(string[] args) {
            int a = (int)Math.Floor(Convert.ToDouble(Console.ReadLine()));
            Console.WriteLine(a);
            Console.ReadKey();
        }
    }
}
 
Сверху Снизу