Как сделать так, что бы при делении было десятичное число в C#? C#. Мне нужно что бы при вызове функции Div(6, 4) (например, т.е. не обязательно 6 и 4) возвращалось значение 1.5. Но возвращается совсем другое;\ Если что, другие арифметические действия не доделалstatic decimal Div(int a, int b) { decimal sum = a / b; return sum; } static void Main(string[] args) { Console.WriteLine("Введите действие. / * + -"); string Znak = Console.ReadLine(); if (Znak == "/") { Console.WriteLine("Введите делимое"); int a = int.Parse(Console.ReadLine()); Console.WriteLine("Введите делитель"); int b = int.Parse(Console.ReadLine()); while (b == 0) { Console.WriteLine("Делитель должен быть больше 0. Введите число больше 0"); b = int.Parse(Console.ReadLine()); } Console.WriteLine("{0} / {1} = {2}", a, b, Div(a, b));
Измените тип переменных a и b в функции Div на decimal, чтобы дробное деление происходило в соответствии с типом результата.
Вот исправленный код:
static decimal Div(decimal a, decimal b) { decimal sum = a / b; return sum; } static void Main(string[] args) { Console.WriteLine("Введите действие. / * + -"); string Znak = Console.ReadLine(); if (Znak == "/") { Console.WriteLine("Введите делимое"); decimal a = decimal.Parse(Console.ReadLine()); Console.WriteLine("Введите делитель"); decimal b = decimal.Parse(Console.ReadLine()); while (b == 0) { Console.WriteLine("Делитель должен быть больше 0. Введите число больше 0"); b = decimal.Parse(Console.ReadLine()); } Console.WriteLine("{0} / {1} = {2}", a, b, Div(a, b)); } Console.ReadKey(); }
Теперь при вызове функции Div(6, 4) будет возвращаться значение 1.5.
Измените тип переменных a и b в функции Div на decimal, чтобы дробное деление происходило в соответствии с типом результата.
Вот исправленный код:
static decimal Div(decimal a, decimal b){
decimal sum = a / b;
return sum;
}
static void Main(string[] args)
{
Console.WriteLine("Введите действие. / * + -");
string Znak = Console.ReadLine();
if (Znak == "/")
{
Console.WriteLine("Введите делимое");
decimal a = decimal.Parse(Console.ReadLine());
Console.WriteLine("Введите делитель");
decimal b = decimal.Parse(Console.ReadLine());
while (b == 0)
{
Console.WriteLine("Делитель должен быть больше 0. Введите число больше 0");
b = decimal.Parse(Console.ReadLine());
}
Console.WriteLine("{0} / {1} = {2}", a, b, Div(a, b));
}
Console.ReadKey();
}
Теперь при вызове функции Div(6, 4) будет возвращаться значение 1.5.