需要帮助让我的每小时点数功能正常工作

时间:2017-06-29 07:10:32

标签: vb.net

我很难让我的功能正常工作。 这个函数应该估计用户每小时可以获得多少点数,但它显示的数字太多了。

Dim now As DateTime = DateTime.Now

Private Function PointsPerHour(gainedpoints As String, totalpoints As String)

    Dim firstvalue = gainedpoints
    Dim secondvalue = firstvalue
    Dim thirdvalue = totalpoints

    Dim varJWG0 As String = "Points: "
    Dim varJWG1 As String = thirdvalue
    Dim varJWG2 As String = " Points Per Hour: "
    Dim varJJM0 As Double = Double.Parse(thirdvalue.Replace(",", String.Empty)) - Double.Parse(secondvalue.Replace(",", String.Empty))
    Dim timeSpan As TimeSpan = Now - DateTime.Now.ToLocalTime
    Dim dbl_ As Double = varJJM0 / timeSpan.TotalHours * -1.0
    Return (Convert.ToString(varJWG0 & varJWG1) & varJWG2) + dbl_.ToString("0.00")

    End Function

即使我PointsPerHour(9, 91)它仍然输出超过1000。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

因此,我并不完全确定此方法在您当前的实现中尝试实现的目的。

首先,值firstValue和secondValue是相同的,firstValue似乎除了分配给secondValue之外似乎没有使用,这对我来说似乎是多余的。

我能看到的第一个问题是你没有时间参与这个功能。你用来保持totalHours的timeSpan没有保持有用的值。你是从Now.ToLocalTime中减去Now。你将从这个等式得到0或你的时区偏移。

基本上;假设你的9,91例子;你得到((91-9)/ timeSpan)* -1)。

如果9是您每小时赚取的积分,91是总积分,那么91/9 =小时。或者如果您给出小时9 *小时= 91(在这种情况下为10.1)。