Visual Basic制作全局循环功能

时间:2016-03-31 14:09:06

标签: vb.net rounding

我正在研究一个项目,它是某种二次方程和其他部分的计算器。其中一项任务是制作一个精确度选项,使用户设置1-5个小数位之间的舍入。

我已经构建了某种功能,但是我需要的是程序在有两个不同的结果(即二次方程式)时对值进行舍入的方法,如果我使用我的函数来加入两个答案并围绕它们。

如何制作保存结果的变量,并且对结果进行舍入的函数能够存储两个不同的答案而不加入它们?或者我写的代码不是它应该是怎么样的?任何提示?

我正在使用Math.round函数。

这是代码;

Function Accuracy()
    Dim choice As Integer = 0
    Console.WriteLine("This is the accuracy option")
    Console.WriteLine("Enter the decimals places to be set from 1 - 5")
    DP = Console.ReadLine()
    Console.WriteLine("The current decimals places are set to: " & DP)
    ...

Function round()
    Result = Math.Round(Result, DP)
End Function

我试图让它工作的方法是将结果=“计算结果”,然后运行round()函数

  • DP和结果是全局变量。

1 个答案:

答案 0 :(得分:-1)

好的,这里基本上是我要构建的结构。请记住,我不了解你的项目,更不用说二次方程......

档案MyResult.vb

Public Class MyResult
   Public Property Result as Double 'I suppose
   Public Property RoundedDecimals as Integer 'We hold here the rouding
   Public Readonly Property RoundedResult as Double
   Get
     Return Math.Round(Result, RoundedDecimals)
   End Get
   End Property

   Public Sub New(Result as Double)
     Me.Result = Result
     RoundedDecimals = 5
   End Sub

   '... End of your class
End Class

文件MainModule.vb

Public Module MainModule

  Sub Main()
    'Calculate your stuff
    ...        

    'Create your result 
    Dim Result As New MyResult(CalculatedValue)

    'Ask for Rounding
    Dim round = 0
    Do
        Console.WriteLine("Enter number of decimals : ")
        round = Console.ReadLine()
    while not Integer.TryParse(round, Result.RoundedDecimals)

    'Displaying rounded result
    Console.WriteLine("Rounded Result is {0}", Result.RoundedResult)

    '...
  End Sub()

End Module