Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 添加变量数值(新问题)_Vb.net_Math_Variables - Fatal编程技术网

Vb.net 添加变量数值(新问题)

Vb.net 添加变量数值(新问题),vb.net,math,variables,Vb.net,Math,Variables,昨天,我了解了如何从外部txt文件中存储的nummbers设置变量值 然后需要将变量相加,所以我首先使用了试错法 ((XVAL)+(NEWVAL)) 假设XVAL设置为10,NEWVAL设置为20,我希望得到的答案是30,但waq给出的新值是10 20 VB.net pysicaly将这两个值相加,但我想要这两个值的数学积,即((10)+(20))=30 是的,这是一个新问题,有人能解释一下如何实现im after和NEWVAL是字符串,所以它们只是被连接在一起。您需要将它们转换为整数,以便VB

昨天,我了解了如何从外部txt文件中存储的nummbers设置变量值

然后需要将变量相加,所以我首先使用了试错法

((XVAL)+(NEWVAL))

假设XVAL设置为10,NEWVAL设置为20,我希望得到的答案是30,但waq给出的新值是10 20

VB.net pysicaly将这两个值相加,但我想要这两个值的数学积,即((10)+(20))=30


是的,这是一个新问题,有人能解释一下如何实现im after和
NEWVAL
是字符串,所以它们只是被连接在一起。您需要将它们转换为整数,以便VB.NET将它们视为整数。为此,请使用以下方法


XVAL
NEWVAL
是字符串,因此它们只是被连接在一起。您需要将它们转换为整数,以便VB.NET将它们视为整数。为此,请使用以下方法


你想先把它们转换成一个数字。 尝试CDbl。 更多信息,请参阅

编辑:哦,我以为你在谈论VBA。
如果您正在谈论VB.NET,请尝试使用Double.Parse(YOURVALUE)。

您想先将它们转换为一个数字。 尝试CDbl。 更多信息,请参阅

编辑:哦,我以为你在谈论VBA。 如果您正在谈论VB.NET,请尝试使用Double.Parse(YOURVALUE)。

您尝试过Val()函数吗

Val(XVAL) + Val(NEWVAL)
您是否尝试过Val()函数

Val(XVAL) + Val(NEWVAL)

当您从文本文件中读取时,我假设您正在以字符串形式读取值,因此当您执行此操作时:

((XVAL) + (NEWVAL))
它有效地将两个字符串连接在一起。为了得到两个值的数学积,这些值必须是整数/整数,这是数字类型

有很多方法可以做到这一点,但本质上,您必须将字符串“强制转换”为int,然后进行计算

因此,在vb.net中,它类似于以下内容(伪代码):

有许多其他方法可以做到这一点,例如使用:

int.Parse(...)

有关这些类型转换的更多信息,请参见:


对于这些类型的转换,需要记住的一点是,必须确保输入数据是可转换的。否则,代码将抛出异常。这就是TryParse很有用的地方,因为您可以使用它来检查输入并处理无效输入,而无需异常。

当您从文本文件中读取时,我假设您正在以字符串形式读取值,因此在执行此操作时:

((XVAL) + (NEWVAL))
它有效地将两个字符串连接在一起。为了得到两个值的数学积,这些值必须是整数/整数,这是数字类型

有很多方法可以做到这一点,但本质上,您必须将字符串“强制转换”为int,然后进行计算

因此,在vb.net中,它类似于以下内容(伪代码):

有许多其他方法可以做到这一点,例如使用:

int.Parse(...)

有关这些类型转换的更多信息,请参见:


对于这些类型的转换,需要记住的一点是,必须确保输入数据是可转换的。否则,代码将抛出异常。这就是TryParse很有用的地方,因为您可以使用TryParse检查输入并处理无效输入,而无需异常。

VB.NET中的
+
运算符(出于向后兼容性的原因)意味着根据所使用的变量类型进行添加和连接。对于两种数字类型(
Integer
Single
Double
,等等),它会按照您的预期将值相加。但是,对于
String
类型,它将两个字符串连接起来

因此,您的
XVAL
NEWVAL
变量可能是
String
类型,因为它们是从文本文件中读取的,这会导致VB.NET将它们连接到一个新字符串中,而不是将它们添加到一起。要获得预期的行为,需要将它们转换为数字类型

其他一些答案建议仅将字符串值强制转换为数字类型(
CInt
CSng
CDbl
,等等),但如果字符串中包含的值无法转换为数字,则这可能无法按预期工作。如果字符串中的值不能表示为数字,则
Int32.Parse
方法将引发异常。如果您从文本文件中读取的值不能保证遵守任何特定约束,那么记住这一点尤为重要


相反,您可能希望使用类似于的东西,它返回一个
布尔值,指示转换是否成功,并且不会引发异常。

VB.NET中的
+
运算符(出于向后兼容的原因)表示根据所使用变量的类型进行添加和连接。对于两种数字类型(
Integer
Single
Double
,等等),它会按照您的预期将值相加。但是,对于
String
类型,它将两个字符串连接起来

因此,您的
XVAL
NEWVAL
变量可能是
String
类型,因为它们是从文本文件中读取的,这会导致VB.NET将它们连接到一个新字符串中,而不是将它们添加到一起。要获得预期的行为,需要将它们转换为数字类型

其他一些答案建议仅将字符串值强制转换为数字类型(
CInt
CSng
CDbl
,等等),但如果