从RichTextBox获取最大值

马特·索博特卡

我很难从富文本框中获取正确的最大值。我尝试使用3种不同的方法来找到最大值,并且所有方法都以相同的方式工作。对于此示例,我正在使用GPS Speed数据。所以我将速度1乘1到富文本框中。在某些情况下,我遇到的问题使我的最大速度值为11.3或11.4。

例如,如果速度大于12.0,则可以正常工作。如果速度低于11.0,则工作正常。如果速度超过(或开始于)11.5,然后下降到11.5以下,则报告的最大值将是以下11.3或11.4数值之一

我的代码似乎确实认为11.3是最大的数字。

我尝试了Richtextbox.lines.Max(),尝试将数据添加到列表中,还尝试将RTB添加到数组中并使用以下方法。

   Private Sub CheckMaxSpeed()
        Dim speed
        If MaxSpeedRTB.Text = "" Then
            MaxSpeedtxt.Text = "N/A"
            MaxSpeedtxt.Text = "N/A"
            Exit Sub
        Else
            'speed = MaxSpeedRTB.Lines.Max()
            'Dim speedlist As List(Of String) = MaxSpeedRTB.Lines.ToList
            Dim myArr As String() = MaxSpeedRTB.Lines
            speed = myArr.Max()
            'speed = speedlist.Max
            speed *= 1.15078
            speed = Math.Round(speed, 1)
            If speed < 0.4 Then
                speed = "0.0"
            End If
            MaxSpeedtxt.Text = speed & " MPH"
            MaxSpeedRTB.Clear()
            MaxSpeedCom = False
        End If
艾比

调用Max对抗string是一场灾难。

相反,请尝试解析所有行,Single然后对其进行调用Max

Dim lines = RichTextBox1.Lines

Dim values = New List(Of Single)

For Each line As String In lines
    Dim result As Single
    Dim tryParse = Single.TryParse(line, result)
    If tryParse Then
        values.Add(result)
    End If
Next

Dim max = values.Max()

结果:

For the following lines in RichTextBox:
11.1
11.123
Max = 11.123

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章