0

我试图使用Math.Round(). 但它不起作用。我可以知道为什么吗?这里有人知道确切原因吗?

        double num = 0;
        if (double.TryParse(number.Text, out num) && num > 0 && num < 60)
        {
            Math.Round(num);
            browser.Navigate(new Uri("/file" + num + ".html", UriKind.Relative));
        }
        else
        {
            MessageBox.Show("Expected Input Range: 1 to 59");
        }
4

1 回答 1

0

Math.Round返回四舍五入的值,因此您必须将新值分配回num

例子:

double num = 0;
if (double.TryParse(number.Text, out num) && num > 0 && num < 60)
{
    num = Math.Round(num);
    browser.Navigate(new Uri("/file" + num + ".html", UriKind.Relative));
}
else
{
    MessageBox.Show("Expected Input Range: 1 to 59");
}

但是我有一种感觉,在这种情况下,您不想要任何小数位,您只需将其转换为int

 browser.Navigate(new Uri("/file" + (int)num + ".html", UriKind.Relative));

测试:

double num = 34.5;
num = Math.Round(num); // returns 34.0

double num = 34.5;
int newNum = (int)num; // returns 34
于 2013-09-25T04:52:47.623 回答