Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2009, 20:57   #1
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию C# Вещественные числа

Как в c# вводить из консоли в переменную вещественные числа?

пробовал сделать так
float a, b, c, d;

Console.WriteLine("A=");
a = Console.ReadLine();
Console.WriteLine("B=");
b = Console.ReadLine();
c = a + b;
Console.WriteLine(c);

но выбивает ошибку Неявное преобразование типа "string" в "float" невозможно
SL1CK вне форума Ответить с цитированием
Старый 26.12.2009, 21:10   #2
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Может так!
Код:
  double a, b, c, d;

            Console.WriteLine("A=");
            a = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("B=");
            b = Convert.ToDouble(Console.ReadLine());
            c = a + b;
            Console.WriteLine(c);
           
            Console.Read();
Cpluser вне форума Ответить с цитированием
Старый 26.12.2009, 21:15   #3
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Так работает если указать double a, b, c, d, а если float, то нет. Всем советую почитать книжку "Герберт Шилдт. Полный справочник по С#"
Она здесь на форуме где-то выложена, да и любой поисковик найдёт.

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            float a, b, c;

            Console.Write("A = ");

            //Convert.ToDouble() - конвертируем из string в double
            //потом приводим к типу float -  a = (float) (значение типа double)

            a = (float) Convert.ToDouble(Console.ReadLine());

            Console.Write("B = ");

            b = (float) Convert.ToDouble(Console.ReadLine());

            c = a + b;

            Console.WriteLine(a.ToString()+ " + " + b.ToString() + " = " + c.ToString());
            Console.ReadKey(); //Чтобы консоль не исчезала сразу после выведения результата
        }
    }
}
Немного для справки:
Код:
// Приведение типа double к типу int.
i = 100.04
i = (int) (x / y); // Дробная часть теряется.
Console.WriteLine(
"Целочисленный результат деления х / у: " + i);
Console.WriteLine();


// Приведение типа int к типу byte без потери данных.
i = 255;
b = (byte) i;
Console.WriteLine("b после присваивания 255: " + b +
" -- без потери данных. ");

Последний раз редактировалось Casper-SC; 26.12.2009 в 21:35.
Casper-SC вне форума Ответить с цитированием
Старый 26.12.2009, 21:25   #4
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

все работает, но второй способ для меня больше подходит, Спасибо за помощь!
SL1CK вне форума Ответить с цитированием
Старый 15.02.2012, 02:19   #5
DigitalAngel
Новичок
Джуниор
 
Регистрация: 15.02.2012
Сообщений: 4
По умолчанию

Скажіть будь-ласка чого в мене при вводі дробових чисел висвічує попередження "Входная строка имела не верный формат"
от код програми...


float x, y, z;

Console.WriteLine("Дана програма вираховує частку двох чисел.");
Console.WriteLine("Введiть перше число.");
x = (float) Convert.ToDouble(Console.ReadLine() );


Console.WriteLine("Введiть друге число.");
y = (float) Convert.ToDouble(Console.ReadLine() );


if (y != 0)
{
z = x / y;
Console.WriteLine("Частка введених вами двох чисел становить: " + z);
}
else
{
Console.WriteLine("Операцiя не може бути виконана. Дiлення на 0 не можливе.");
}
Console.ReadLine();

}
}
}

Последний раз редактировалось DigitalAngel; 15.02.2012 в 02:24.
DigitalAngel вне форума Ответить с цитированием
Старый 15.02.2012, 10:56   #6
Guy
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 398
По умолчанию

дробные числа с "." точкой а не "\"
Guy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как числа в двоичном виде вывести в столбик по 4 числа? Equalizer Общие вопросы C/C++ 11 27.09.2009 14:15
Вещественные Hanickii Общие вопросы C/C++ 9 17.09.2009 18:14
Даны натуральные числа m,n. Посчитать сумму m последнего числа n. лялька Паскаль, Turbo Pascal, PascalABC.NET 6 25.12.2008 15:22
Имеется список,элементами которого являются вещественные числа.Создать консольное приложение,описывающее Smart Помощь студентам 1 06.05.2008 08:09
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49