C# 将int解析为字符串
我有一个名为txttotalnum的文本框,我正试图将其解析为字符串,它给出了一个错误,提示无法将int转换为system.web.ui.webcontrols.text,请帮助C# 将int解析为字符串,c#,C#,我有一个名为txttotalnum的文本框,我正试图将其解析为字符串,它给出了一个错误,提示无法将int转换为system.web.ui.webcontrols.text,请帮助 foreach(mcx.supplierportal.taxregistration _taxlist in edittax) { Txtvatnumber.text = _taxlist.text; Txttotalnum = int.parse(txttotalnum.text) } 应该是: f
foreach(mcx.supplierportal.taxregistration _taxlist in edittax)
{
Txtvatnumber.text = _taxlist.text;
Txttotalnum = int.parse(txttotalnum.text)
}
应该是:
foreach(mcx.supplierportal.taxregistration _taxlist in edittax)
{
Txtvatnumber.text = _taxlist.text;
Txttotalnum.text = int.parse(txttotalnum.text)
}
更改此项:
Txttotalnum = int.parse(txttotalnum.text)
为此:
Txttotalnum.Text = int.Parse(txttotalnum.Text).ToString()
更好的选择是检查一个值:
foreach(mcx.supplierportal.taxregistration _taxlist in edittax)
{
int outValue;
Txtvatnumber.text = _taxlist.text;
if(int.TryParse(txttotalnum.text, out outValue))
{
Txttotalnum = outValue.ToString();
}
else
{
// error
}
}
int.parse(txtotalnum.text)
将txtotalnum.text
中的字符串解析为int
txtotalnum
是一个Text
控件
不能将int
分配给Text
控件,因此会出现错误
您想做什么?如果您的文本框是Txttotalnum,则您试图将int值分配给文本框,而不是将其分配给文本框的文本属性 所以更新
Txttotalnum = int.parse(txttotalnum.text)
到
问题: 1。您直接将
值设置为TextBox
控件。
2。您正在使用.Text
属性访问文本框
的文本,但它应该是.Text
(如果您的问题中没有输入错误)。
3.将值解析为int
没有任何意义,因为TextBox
控件只接受String
试试这个:
Txttotalnum.Text = txttotalnum.Text;
但是,如果您确实想检查赋值值是否为int
,可以使用int.TryParse()
方法进行检查,如果无法将其解析为int
,只需将值赋值为零或不显示值即可
试试这个:
int result;
if(int.TryParse(txttotalnum.Text,out result))
Txttotalnum.Text = result.ToString();
else
Txttotalnum.Text = "0";//assign zero or display no value
尝试以下操作:txtotalnum=int.parse(txtotalnum.text).ToString()
您的变量非常容易混淆。不要解析为字符串
您从字符串进行解析,它是隐式的,而不是复杂的!!如果要为文本框指定值,请将其指定给文本属性。您不需要将其解析为int,然后再将其字符串化。只需直接分配值,例如:Txttotalnum.Text=value.camelCase和PascalCase向您致意。这是不可能的。您得到的错误是因为您试图将整数转换为文本框控件。我的代码没有,所以您可能没有正确复制它。不需要解析为int。您正在将字符串解析为int,然后再解析为string。这不是一个好的做法。SpiderCode:它可能用于验证或格式化。例如,文本框可能有前导零。这将删除它们。我同意这样做很奇怪。您的代码将给出一个错误“无法将源类型'int'转换为目标类型'string'”。这段代码有什么意义?获取一个textbox值并将其放入textbox中,它是否已经存在?它没有任何用途。OP说:它给出了一个错误,说明无法将int转换为system.web.ui.webcontrols.text,这意味着他/她正在尝试为文本框赋值。它给出了一个错误。请阅读代码。他放在文本框中的文本就是那个文本框中的文本。他做整数解析是有原因的。你的代码行是完全超级的,它没有任何效果。如果编译器不直接删除它,我会感到惊讶。OP的工作就是识别相同的代码。可能他/她提供的示例代码只是为了解释。
int result;
if(int.TryParse(txttotalnum.Text,out result))
Txttotalnum.Text = result.ToString();
else
Txttotalnum.Text = "0";//assign zero or display no value