我试图使用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");
}
答案 0 :(得分: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