Marc Kane Ответов: 0

Сравнение двух переменных


Прямо сейчас, когда код написан, когда я беру запись в текстовом поле 10.2 в качестве входного сигнала и масса равна 10, то разница составляет 0,2, что меньше 0,5, но я все равно получаю красный цвет, что означает, что это не так, поэтому я думаю, что он все еще не распознает ввод как двойной или что-то подобное. Кто-нибудь знает, в чем может быть проблема? Кроме того, код работает просто отлично.

Что я уже пробовал:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim lineNumber0 As Integer
    Dim mass As Double
    Dim input As Double

    If Double.TryParse(File.ReadAllLines("225.txt").ElementAt(linenumber0), mass) Then
        If Double.TryParse(TextBox1.Text, input) AndAlso Math.Abs(input - mass) < 0.5 Then
            TextBox1.BackColor = Color.Green      
    Else
        textbox1.backcolor=color.red
    End If
   End if

Richard Deeming

Вы еще не инициализировали lineNumber0 переменная, так что вы всегда получаете первую строку файла. Вы уверены, что это именно то значение, с которым вы собираетесь сравнивать входные данные?

Richard MacCutchan

Не пишите сложных утверждений, как это только помогает усложнить дело; как вы можете ясно видеть. Разделите вещи на логические шаги, что-то вроде:
1. Прочитайте содержимое файла и найдите строку, содержащую первое число.
2. преобразуйте строку в двойное значение, не забывая принимать меры при неудачном преобразовании.
3. Сделайте то же самое для строки в текстовом поле.
4. Сравните два числа и принять действие(я) соответственно.

Marc Kane

Спасибо, постараюсь воспользоваться этими советами

0 Ответов