C#转换圆形文本框

时间:2013-11-02 10:40:51

标签: c# visual-studio math rounding

我有一个文本框,我可以输入数字数据,我可以将小数点后两位小数,例如125.02125。但是,我想对使用十进制数输入的所有数据进行舍入,示例125.55将等于126。下面是我破损代码的片段。任何建议都会很棒!

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

2 个答案:

答案 0 :(得分:3)

我认为你需要将字符串转换为双精度。试试这个:

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
}

答案 1 :(得分:2)

Math.Ceiling方法有2个重载;

没有重载需要string作为参数。您需要解析string喜欢;

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