比较提取字符串中的数字 [英] comparing numbers from extracted string

查看:82
本文介绍了比较提取字符串中的数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以即时比较数字与此代码



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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆