我有一个文本框,我可以输入数字数据,我可以将小数点后两位小数,例如125.02
或125
。但是,我想对使用十进制数输入的所有数据进行舍入,示例125.55
将等于126
。下面是我破损代码的片段。任何建议都会很棒!
int num6 = (int)Math.Ceiling(textBox5.Text);
答案 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);
}