C# - Как округлить число до целого

Рейтинг: 0Ответов: 1Опубликовано: 19.02.2023

Всем привет.

Написал программу погоды, которая считывает данные по API с сайта https://api.openweathermap.

Данные, отображаются в моей программе c точкой (с дробной частью):

скриншот программы

Я хочу, чтоб данные округлялись и выводились целым числом (как, например, byte или int).

Я понимаю, что нужно писать примерно так:

label1.Text = match.Groups[3].Value + " " + ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();

но этот код не работает.

Полный код метода:

void button1_Click(object sender, EventArgs e)
{
   string line = "";
   using (WebClient wc = new WebClient())
        line = wc.DownloadString($"https://api.openweathermap.org/data/2.5/weather?q={textBox1.Text}&units=metric&appid");
   Match match = Regex.Match(line, "\"temp\":(.*?),(.*?)\"name\":\"(.*?)\",");
   label1.Text = match.Groups[3].Value + " " + `match.Groups[1].Value` + " °C";                    
}

Ответы

▲ 1

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

Вариант №1 - округление на уровне данных:
double x = 0.5d;
int result = (int)Math.Round(x);

Этот вариант стоит использовать в том случае, если вам необходимо проводить какие-то дальнейшие действия в коде над округлённым числом.

Вариант №2 - округление на уровне форматирования:
double x = 0.5d;
string result = $"{x:F0}";

Этот вариант стоит использовать в том случае, если вам необходимо сделать красивое представление числа для вывода.

P.S.

Также крайне советую прислушайтесь к советам из комментария @EvgeniyZ.