将文本框转换为整数值

时间:2014-07-11 07:52:57

标签: c# types casting

我有两个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 ;

然后它连接值而不是添加它,因为类型是字符串。如何在此框中获取总和的整数值。请帮忙

4 个答案:

答案 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)

您可以使用stringint值转换为Convert.ToInt32。但是,如果字符串值无法转换为int,则会抛出异常,例如:12abc

bodywater.text = (Convert.ToInt32(textBoxIntra.Text) + Convert.ToInt32(textBoxExtra.Text)).ToString();

答案 2 :(得分:0)

您必须将textbox值解析为DoubleDouble的原因是因为当您为其分配值时将其解析为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)

文本框的文本值是字符串,因此是连接的。