我想添加两个数字。我从文本框中的按钮获取值。我还成功地将字符串拆分为子字符串,并将这些子字符串的值存储在变量中。但我无法将字符串类型转换为整数类型。这导致连接不是附加的。 注意 : 我正在使用MVC来执行此任务。在模型中,value1和value2是模型中的字符串类型 这是我的代码片段:
if (button == "1"){
if (model.textBox == "" || model.textBox == null || model.textBox.ToLower().Contains("please enter value")){
model.textBox = "1";
} else {
model.textBox += "1";
}
}
if (button == "2") {
if (model.textBox == "" && model.textBox == null) {
model.textBox = "2";
} else {
model.textBox += "2";
}
if (button == "+") {
if (model.textBox == "" && model.textBox == null){
model.errormsg = "Please enter a number ";
} else {
model.textBox += "+";
}
if (button == "=") {
if (model.textBox.Contains("+")) {
model.value1 = (model.textBox.Split('+'))[0];
int value1 = int.Parse(model.value1);
model.value2 = (model.textBox.Split('+'))[1];
int value2 = int.Parse(model.value2);
model.textBox = model.value1 + model.value2;
}
return View(model);
答案 0 :(得分:5)
如果我找到了你所要做的就是:
model.textBox = (value1 + value2).ToString();
答案 1 :(得分:1)
model.textBox
的类型为string
,因此,当您执行model.textBox += "1";
时,唯一可能的操作是连接。
要将它们添加为整数,首先需要将textBox
转换为int
。
以下内容将起作用:
model.textBox = (int.Parse(model.textBox) + 1).ToString();
答案 2 :(得分:0)
尝试使用int.Parse(textBox.Text)
。
如果字符串中有非数字字符,它将会崩溃,但是没有任何试图捕获块无法解决。
希望这有帮助!
答案 3 :(得分:0)
if (button == "=") {
if (model.textBox.Contains("+")) {
model.value1 = (model.textBox.Split('+'))[0];
int value1 = int.Parse(model.value1);
model.value2 = (model.textBox.Split('+'))[1];
int value2 = int.Parse(model.value2);
model.textBox = model.value1 + model.value2;
}
将以上代码段替换为以下代码段:
if (button == "=")
{
if (model.textBox.Contains("+"))
{
model.value1 = (model.textBox.Split('+'))[0];
model.value2 = (model.textBox.Split('+'))[1];
model.textBox1 = (int.Parse(model.value1) + int.Parse(model.value2)).ToString();
}