我有两个rfid卡值,我想将两个文本框的总和打印到第三个文本框
textBoxIntra.Text = Double.Parse((rfidCard.getUnsignedData(11, 0) / 1000.0)+"").ToString("N1")
textBoxExtra.Text = Double.Parse((rfidCard.getUnsignedData(11, 2) / 1000.0)+"").ToString("N1")
我希望另一个名为bodywater的文本框包含intra和extra
的值之和如果我使用bodywater.text = textBoxIntra.Text + textBoxExtra.Text ;
然后它连接值而不是添加它,因为类型是字符串。如何在此框中获取总和的整数值。请帮忙
答案 0 :(得分:2)
嗯,textBoxIntra.Text肯定是一个字符串,所以你必须将它转换为int
bodywater.text = (Convert.ToInt32(textBoxIntra.Text) + Convert.ToInt32(textBoxExtra.Text)).ToString() ;
如果你想要更安全一点
int intra = 0;
int extra = 0;
Int32.TryParse(textBoxIntra.Text, out intra);
Int32.TryParse(textBoxExtra.Text, out extra);
bodywater.Text = (intra + extra).ToString();
或者,如果您需要在转换为整数
之前另外保持精度double intra = 0;
double extra = 0;
Double.TryParse(textBoxIntra.Text, out intra);
Double.TryParse(textBoxExtra.Text, out extra);
bodywater.Text = Convert.ToInt32(intra + extra).ToString();
最后一个选项,如果您只想在intra和extra是数值时设置文本:
double intra = 0;
double extra = 0;
if (Double.TryParse(textBoxIntra.Text, out intra) &&
Double.TryParse(textBoxExtra.Text, out extra))
bodywater.Text = Convert.ToInt32(intra + extra).ToString();
else
bodywater.Text = "Non numeric values detected";
答案 1 :(得分:0)
您可以使用string
将int
值转换为Convert.ToInt32
。但是,如果字符串值无法转换为int
,则会抛出异常,例如:12abc
。
bodywater.text = (Convert.ToInt32(textBoxIntra.Text) + Convert.ToInt32(textBoxExtra.Text)).ToString();
答案 2 :(得分:0)
您必须将textbox
值解析为Double
(Double
的原因是因为当您为其分配值时将其解析为Double
)以添加它们
bodywater.text = (Double.Parse(textBoxIntra.Text) + Double.Parse(textBoxExtra.Text)).ToString();
但是,如果你不想要双值。将其解析为int
:
bodywater.text = (Convert.ToInt32(textBoxIntra.Text) + Convert.ToInt32(textBoxExtra.Text)).ToString();
答案 3 :(得分:0)
使用Convert.ToInt32(textBoxIntra.Text)+ Convert.ToInt32(textBoxExtra.Text)
文本框的文本值是字符串,因此是连接的。