VB.NET简单算术运算

时间:2014-03-13 10:37:19

标签: .net vb.net arithmetic-expressions

我有一个简单的算术在VB.Net中执行,如下所示;

我的 字符串 =“325”的 m_Variable5 是从另一个对象传递的。操作是;

m_Variable5 = Convert.ToString(Convert.ToInt32(m_Variable4, InvariantCulture) / 7, InvariantCulture)
m_Variable5 = Convert.ToString(Convert.ToInt32(m_Variable5, InvariantCulture) + 1, InvariantCulture)
m_Variable5 = Convert.ToString(Convert.ToInt32(m_Variable5, InvariantCulture) * 7, InvariantCulture)

在执行这3个操作时,我在第二个操作上遇到了类型错误。 错误消息显示"Input string was not in a correct format."

但使用VB转换功能完成相同的操作,工作正常;

 m_Variable5 = CStr(CInt(m_Variable4) / 7)
 m_Variable5 = CStr(CInt(m_Variable5) + 1)
 m_Variable5 = CStr(CInt(m_Variable5) * 7)

任何人都可以解释为什么我不能使用第一个代码,这对.Net平台更有用?

非常感谢

1 个答案:

答案 0 :(得分:3)

您的例外原因是在执行代码的第一行 m_Variable5 =" 46.4285714285714" 之后,它无法使用{转换为Int32 {1}}在代码的第二行中运行。

在第二个示例中,它被转换,因为您使用Convert.ToInt32运算符。 CInt(传递字符串时)比Convert.ToInt32执行更多工作。我个人更喜欢使用CInt。