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

  • Автор темы Автор темы brunoj
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
21 Фев 2019
Сообщения
288
Реакции
25
Здравствуйте

Хотелось бы узнать, как это делать, а то у самого не получается.
Я хочу чтобы тип 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();


}
}
}
 
ReadLine() принимает строку, как он тебе автоматом ее в дабл впихнет? Или принимай строку в переменную, а потом конверти, или
Используй:
C#:
Expand Collapse Copy
double x=double.Parse(Console.ReadLine());
 
Последнее редактирование:
ReadLine() принимает строку, как он тебе автоматом ее в дабл впихнет? Или принимай строку в переменную, а потом парси, или
Используй:
C#:
Expand Collapse Copy
double x=double.Parse(Console.ReadLine());
Спасибо, я новичок просто, еще учусь
 
уже пробовал int b = Convert.ToInt32(Console.ReadLine()); но когда ввожу десятичное число, то вылетает ошибка.
Convert.ToInt32 - это конвертация в int
int - это целое число
Ошибка вылетает из-за попытки сконвертировать строку которая содержит что-то кроме цифер в целое число
Вот так должно работать: double a = Convert.ToDouble(Console.ReadLine());
А вообще вся реализация того что ты хочешь будет выглядеть вот так

C#:
Expand Collapse Copy
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();
        }
    }
}
 
Назад
Сверху Снизу