比较提取字符串中的数字 [英] comparing numbers from extracted string
问题描述
所以即时比较数字与此代码
Dim curDGV1Cri1 As Double = dgv1(DGV1Cri1,e.RowIndex).Value
Dim curDGV1Cri2 As Double = dgv1(DGV1Cri2,e.RowIndex).Value
Dim curDGV1Cri3 As Double = dgv1(DGV1Cri3,e.RowIndex).Value
Dim curDGV1Cri4 As Double = dgv1(DGV1Cri4,e.RowIndex).Value
Dim curDGV1Cri5 As Double = dgv1(DGV1Cri5,e.RowIndex).Value
Dim InputString1 As String = DataGridView1.Columns(DGV1Cri1)。HeaderText
Dim Result1 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString1,\ d +)
Dim InputString2 As String = DataGridView1.Columns(DGV1Cri2)。HeaderText
Dim Result2 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions .Regex.Match(InputString2,\ d +)
Dim InputString3 As String = DataGridView1.Columns(DGV1Cri3)。HeaderText
Dim Result3 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString3,\d +)
Dim InputString4 As String = DataGridView1.Columns(DGV1Cri4)。HeaderText
Dim Result4 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match (InputString4,\ d +)
Dim InputString5 As String = DataGridView1.Columns(DGV1Cri5)。HeaderText
Dim Result5 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString5,\ d +)
Dim InputString6 As String = lblJudge.Text
Dim Result6 As System.Text。 RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString6,\ d +)
如果curDGV1Cri1> Result1.Value然后
dgv1(DGV1Cri1,e.RowIndex).Value =0
MessageBox.Show(你的输入超出范围。, Error,MessageBoxButtons.OK,MessageBoxIcon.Error)
ElseIf curDGV1Cri2> Convert.ToInt32(Result2.Value)然后
dgv1(DGV1Cri2,e.RowIndex).Value =0
MessageBox.Show(你的输入已经输出范围。,错误,MessageBoxButtons.OK,MessageBoxIcon.Error)
ElseIf curDGV1Cri3> Convert.ToInt32(Result3.Value)然后
dgv1(DGV1Cri3,e.RowIndex).Value =0
MessageBox.Show(你的输入已经输出范围。,错误,MessageBoxButtons.OK,MessageBoxIcon.Error)
ElseIf curDGV1Cri4> Convert.ToInt32(Result4.Value)然后
dgv1(DGV1Cri4,e.RowIndex).Value =0
MessageBox.Show(你的输入已经输出范围。,错误,MessageBoxButtons.OK,MessageBoxIcon.Error)
ElseIf curDGV1Cri5> Convert.ToInt32(Result5.Value)然后
dgv1(DGV1Cri5,e.RowIndex).Value =0
MessageBox.Show(你的输入已经输出范围。,错误,MessageBoxButtons.OK,MessageBoxIcon.Error)
例如,如果Result1等于30,即使它仍然给我错误我在datagridview单元格上输入一个4-9的数字。
so im comparing numbers with this code
Dim curDGV1Cri1 As Double = dgv1("DGV1Cri1", e.RowIndex).Value
Dim curDGV1Cri2 As Double = dgv1("DGV1Cri2", e.RowIndex).Value
Dim curDGV1Cri3 As Double = dgv1("DGV1Cri3", e.RowIndex).Value
Dim curDGV1Cri4 As Double = dgv1("DGV1Cri4", e.RowIndex).Value
Dim curDGV1Cri5 As Double = dgv1("DGV1Cri5", e.RowIndex).Value
Dim InputString1 As String = DataGridView1.Columns("DGV1Cri1").HeaderText
Dim Result1 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString1, "\d+")
Dim InputString2 As String = DataGridView1.Columns("DGV1Cri2").HeaderText
Dim Result2 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString2, "\d+")
Dim InputString3 As String = DataGridView1.Columns("DGV1Cri3").HeaderText
Dim Result3 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString3, "\d+")
Dim InputString4 As String = DataGridView1.Columns("DGV1Cri4").HeaderText
Dim Result4 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString4, "\d+")
Dim InputString5 As String = DataGridView1.Columns("DGV1Cri5").HeaderText
Dim Result5 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString5, "\d+")
Dim InputString6 As String = lblJudge.Text
Dim Result6 As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(InputString6, "\d+")
If curDGV1Cri1 > Result1.Value Then
dgv1("DGV1Cri1", e.RowIndex).Value = "0"
MessageBox.Show("Your input is out of range.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf curDGV1Cri2 > Convert.ToInt32(Result2.Value) Then
dgv1("DGV1Cri2", e.RowIndex).Value = "0"
MessageBox.Show("Your input is out of range.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf curDGV1Cri3 > Convert.ToInt32(Result3.Value) Then
dgv1("DGV1Cri3", e.RowIndex).Value = "0"
MessageBox.Show("Your input is out of range.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf curDGV1Cri4 > Convert.ToInt32(Result4.Value) Then
dgv1("DGV1Cri4", e.RowIndex).Value = "0"
MessageBox.Show("Your input is out of range.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf curDGV1Cri5 > Convert.ToInt32(Result5.Value) Then
dgv1("DGV1Cri5", e.RowIndex).Value = "0"
MessageBox.Show("Your input is out of range.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
for example if the Result1 is equal to 30, its still giving me error even if i input on datagridview cell a number from 4-9.
推荐答案
不要做那样的事情!你正在比较字符串,而不是数字!
所以10小于1,依此类推。将它们转换为数字,它应该可以工作。
Don''t do things like that! You are comparing strings, not numbers!
So "10" is less than "1", and so forth. Convert them to numbers, and it should work.
If Convert.ToInt32(curDGV2Cri1) > Convert.ToInt32(Result1.Value) Then
这篇关于比较提取字符串中的数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!