C#转换取整文本框

C#转换取整文本框,c#,visual-studio,math,rounding,C#,Visual Studio,Math,Rounding,我有一个文本框,可以在其中输入数字数据,这些数据的小数位数最多为两位小数,例如125.02或仅125。但是,我想将所有输入的数据四舍五入到小数点后,例如125.55将等于126。下面是我的一段错误代码。任何建议都很好 int num6 = (int)Math.Ceiling(textBox5.Text); 我想你需要把绳子改成双精度的。试试这个: int num6 = (int)Math.Ceiling(double.Parse(textBox5.Text)); 或者更安全地使用double

我有一个文本框,可以在其中输入数字数据,这些数据的小数位数最多为两位小数,例如
125.02
或仅
125
。但是,我想将所有输入的数据四舍五入到小数点后,例如
125.55
将等于
126
。下面是我的一段错误代码。任何建议都很好

int num6 = (int)Math.Ceiling(textBox5.Text);

我想你需要把绳子改成双精度的。试试这个:

int num6 = (int)Math.Ceiling(double.Parse(textBox5.Text));
或者更安全地使用double.TryParse:

int num6;
double d;
if(double.TryParse(textBox5.Text, out d)
{
   num6 = (int)Math.Ceiling(d);
} else {
   //Bad input value - perhaps flag this to user
}

我想你需要把绳子改成双精度的。试试这个:

int num6 = (int)Math.Ceiling(double.Parse(textBox5.Text));
或者更安全地使用double.TryParse:

int num6;
double d;
if(double.TryParse(textBox5.Text, out d)
{
   num6 = (int)Math.Ceiling(d);
} else {
   //Bad input value - perhaps flag this to user
}
方法有2个重载

它没有重载,将
字符串
作为参数。你需要解析你的
字符串
like

decimal d;
if(Decimal.TryParse(textBox5.Text, out d))
{
   int num6 = (int)Math.Ceiling(d);
}
方法有2个重载

它没有重载,将
字符串
作为参数。你需要解析你的
字符串
like

decimal d;
if(Decimal.TryParse(textBox5.Text, out d))
{
   int num6 = (int)Math.Ceiling(d);
}

请确保始终包含您得到的确切错误。@soner textBox5.Text是一个字符串值,因此可能会抛出一个作为Math的异常。天花板不会接受string@geedubb是的。我在回答中提到了它。请确保始终包含您得到的准确错误。@soner textBox5。文本是字符串值,因此可能会抛出一个异常作为数学。天花板不需要string@geedubb是的。我在回答中提到了这一点。