Member 13652359 Ответов: 2

Как вы округляете его до ближайшего целого числа?


Привет
Я написал следующий код, чтобы разделить 2 числа без округления ответа:
double a, b, c;
            a = double.Parse(textBox1.Text);
            b = double.Parse(textBox2.Text);

            c = a / b;

            label1.Text = c.ToString();

Как мне сделать так, чтобы это число округлилось?

Что я уже пробовал:

Я пробовал только оператор/. Я новичок в C#, поэтому не знаю, что еще я могу попробовать.

2 Ответов

Рейтинг:
15

OriginalGriff

Для начала не используйте double.Синтаксический анализ для преобразования пользовательского ввода - если они сделают одну крошечную ошибку, ваше приложение рухнет. Используйте Двойной.Метод TryParse (String, Double) (System)[^] вместо:

double a;
if (!double.TryParse(textBox1.Text, out a))
   {
   ... report problem to user ...
   return;
   }
double b;
if (!double.TryParse(textBox2.Text, out b))
   {
   ... report problem to user ...
   return;
   }
Помните, что пользователи все время делают опечатки, так же как и мы! :смеяться:

Тогда вы можете использовать либо Математика.Круглый Метод (Двойной) (Система)[^] или Математика.Круглый Метод (Двойной, Int32) (Система)[^] чтобы округлить результат вашего расчета.
label1.Text = Math.Round(a / b).ToString();


Кстати: сделайте себе одолжение и перестаньте использовать имена Visual Studio по умолчанию для всего - вы можете помнить, что "TextBox8" - это номер мобильного телефона сегодня, но когда вам придется изменить его через три недели, вы это сделаете? Используйте описательные имена - например, "tbMobileNo", - и ваш код станет легче читать, более самодокументируемым, легче поддерживать - и на удивление быстрее кодировать, потому что Intellisense может добраться до "tbMobile" за три нажатия клавиш, где "TextBox8" занимает размышление и 8 нажатий клавиш...