Здравствуйте Хотелось бы узнать, как это делать, а то у самого не получается. Я хочу чтобы тип 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(); } } }
using System; namespace fdfd { class Program { static void Main(string[] args) { string a = Console.ReadLine(); //пусть сначала это будет строка a = a.Replace(".", ","); //Заменяем точку на запятую, если пользователь ввел не в том формате. Если все правильно - строка кода пропускается double b = Convert.ToDouble(a); //конвертируем эту строку в даблъ Console.WriteLine(b); Console.ReadKey(); } } }
Диппи, это можно было в одну строчку сделать :) Console.WriteLine(Convert.ToDouble(Console.ReadLine().Replace(".", ","))); И это заняло бы гораздо меньше мощностей, особенно в плане ОЗУ.
Ровно столько же, что и в методе выше. Только в твоем коде память освобождается быстрее из-за чего и возникает иллюзия того, что твой код использует ОЗУ меньше.