Метод выводит не то, что нужно операции с плавающей точкой - C#

Узнай цену своей работы

Формулировка задачи:

Я уже весь мозг себе сломал. Не понимаю, почему не работает. Пробовал отдельно выводить height, все правильно, ratio, тоже правильно, heighttmp тоже правильно, а вместо width почему-то выводится значение, указанное в height. Где-то утечка памяти или что?
static public void test( int height )
        {
            int heighttmp = 544;
            double ratio = (double)height / heighttmp;
            
            int width = (int)Math.Round( heighttmp * ratio );
            
            Console.WriteLine(width);
        }
Более того, если просто написать код
int a = 300;
int b = 544;
double ratio = (double)a / b;
Console.WriteLine( a * ratio );
Все нормально работает, а вот в методе выводится int height, который передается методу. Что за безумие?

Решение задачи: «Метод выводит не то, что нужно операции с плавающей точкой»

textual
Листинг программы
Console.WriteLine(heighttmp * ratio);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.357 из 5
Похожие ответы