rad95
@rad95

Как сделать так, что бы при делении было десятичное число в 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));
            
            }
            Console.ReadKey();
  • Вопрос задан
  • 474 просмотра
Решения вопроса 1
MrMureno
@MrMureno
VR for all
и в чем проблема?
вам надо просто делить не два int, а преобразовать в decimal ..можно одно а можно и оба..
decimal sum = (decimal)a / b;

приведение типов и все такое)

в вашем случае при делении int на int вы получите int (уже до целого преобразованное) и только потом его скастует в sum (decimal).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Karpion
Система счисления тут ни при чём. Вам надо перейти к плавающей арифметике.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы