似乎无法使控制台正确打印出复杂的根。
If quad4ac < 0 Then
Dim quad4acComplex As Long = quad4ac * -1
Dim quadiComplex As Long = -1
Dim quadrComplex As Long
Console.WriteLine(vbNewLine & "Your Roots Are Complexed!" & vbNewLine)
quadrComplex = (-quadCoB / (2 * quadCoA) & "+" & (quad4ac * -1) ^ 0.5 / (2 * quadCoA))
Console.WriteLine(quadrComplex)
似乎导致控制台崩溃。
答案 0 :(得分:2)
您正尝试将字符串值分配给long值,然后打印long值。我真的不知道你要做什么。如果您想打印出计算值,请尝试:
quadrComplex = CType((-quadCoB / (2 * quadCoA) + (quad4ac * -1) ^ 0.5 / (2 * quadCoA)), Long)
Console.Writeline(quadrComplex.Tostring)
如果您想要打印出表达式,请尝试
Dim quadrComplex as String
quadrComplex = "(-" & quadCoB.Tostring & " / (2 * " & quadCoA.ToString & ") + (" & quad4ac.ToString & " * -1) ^ 0.5 / (2 * " & quadCoA.ToString & "))"
Console.Writeline(quadrComplex)
您应该考虑在程序中启用Option Strict
。这样,编译器就会强迫您自己使用正确的类型转换。这避免了许多错误。
答案 1 :(得分:0)
你想用&amp; &
做什么?
....(2 * quadCoA)&amp; “+”&amp; (quad4ac * -1)......
问题是&
是VB.NET中的字符串连接,当然不能分配给Long
。
您希望控制台在此行打印什么?
Console.WriteLine(quadrComplex)
你的答案将介于这两个问题之间。