我正在编写一个程序,在该程序中窗体在打开之前会打开一段时间。我给用户指定时间以秒为单位。但是我希望这是五种形式。或将数字四舍五入到最接近的倍数。
如果输入1-4,则该值将自动设置为5。
如果输入6-10,则该值将自动设置为10。
最大值是60,最小值是0。
我所拥有的,但是我对此逻辑不满意,因为它将其重置为10秒。
if (Convert.ToInt32(maskedTextBox1.Text) >= 60 || Convert.ToInt32(maskedTextBox1.Text) <= 0)
mySettings.ToastFormTimer = 10000;
else
mySettings.ToastFormTimer = Convert.ToInt32 (maskedTextBox1.Text) * 1000;
最佳答案
那这个呢:
int x = int.Parse(maskedTextBox1.Text)/5;
int y = Math.Min(Math.Max(x,1),12)*5; // between [5,60]
// use y as the answer you need