根据整数值计算基本分数

时间:2015-07-18 22:01:58

标签: vb.net

我正在尝试通过收集值来计算基本的%值:

   For Each M As Match In matchFound
       lamdaFix2 = M.Groups(1).Value
       lamdaFix3 = M.Groups(2).Value
       Application.DoEvents()
       Dim lv As ListViewItem = formMozCheck.listViewMoz.Items.Add(lamdaFix1)
       lv.UseItemStyleForSubItems = False
       lv.SubItems.Add(Math.Round(Double.Parse(lamdaFix2)).ToString())
       lv.SubItems.Add(Math.Round(Double.Parse(lamdaFix3)).ToString())
       lv.SubItems.Add("-")
       lv.SubItems.Add("-")
       lv.SubItems.Add(itm.SubItems(8).Text)
       Dim srVal As Integer
       If (itm.SubItems(9).Text = "") Then
           srVal = 0
       Else
           srVal = CInt(itm.SubItems(9).Text)
       End If
       lv.SubItems.Add(srVal.ToString())
       ' work out a score
       Dim overAllScore As Integer
       ' TODO: basic score
       overAllScore = CInt(CInt(CDbl(Math.Round(Double.Parse(lamdaFix2)).ToString()) & CDbl(Math.Round(Double.Parse(lamdaFix3)).ToString()) & CDbl(itm.SubItems(8).Text) & Val(srVal)) * 100)

       lv.SubItems.Add(CLng(overAllScore) & "%").ForeColor = Color.DarkGreen
       itm.Checked = False
   Next

这些值:

lv.SubItems.Add(Math.Round(Double.Parse(lamdaFix2)).ToString())
lv.SubItems.Add(Math.Round(Double.Parse(lamdaFix3)).ToString())

值介于0 - 100

之间

这些:

itm.SubItems(8).Text
itm.SubItems(9).Text

值是否在1 - 10之间

我一直绞尽脑汁想看看添加这些值的最佳方法是什么,并给出一个基本的百分比,我的尝试:

overAllScore = CInt(CInt(CDbl(Math.Round(Double.Parse(lamdaFix2)).ToString()) & CDbl(Math.Round(Double.Parse(lamdaFix3)).ToString()) & CDbl(itm.SubItems(8).Text) & Val(srVal)) * 100)

只需添加234524等所有值,而不是23 + 45 + 2 + 4

的总值

我可能过度复杂了这个大声笑

我将它标记为vb和c#,因为我虽然逻辑相同;)

感谢任何帮助人员!

格雷厄姆

1 个答案:

答案 0 :(得分:0)

您应该使用“+”代替“&”:

overAllScore = CInt(CInt(CDbl(Math.Round(Double.Parse(lamdaFix2)).ToString()) + CDbl(Math.Round(Double.Parse(lamdaFix3)).ToString()) + CDbl(itm.SubItems(8).Text) + Val(srVal)) * 100)