Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# Need help to compare a value with an IF statement

Posted on 2006-06-21
Medium Priority
208 Views
Hey guys whats up .
This is a bit troubling , but I've been trying to get this to work and for some reason it doesn't work.

My objective is to try to compare a result with an IF statement.
Example

I have 4 textbox...2 of them the user inserts numeric value
the third one gives me the percent
and the fourth one assigns an Alphabet to what the value range falls in

Think of it like grading a student from 90 + = "A" , 80 = B, C = 70
and so on and so forth

This is what I have so far...looks fairly simplistic as well
/////

Dim SellingPrice As Double
Dim ListPrice As Double
Dim Percent As Double

SellingPrice = txtSellingPrice.Text
ListPrice = txtListPrice.Text

'Will divide to calculate percent.
Try

Percent = SellingPrice / ListPrice
Catch exMessage As DivideByZeroException
MsgBox(exMessage.Message)
End Try

If Percent > 99 Then
txtDealType.Text = "A"
ElseIf Percent > 96 And Percent < 99 Then
txtDealType.Text = "B"
ElseIf Percent > 93 And Percent < 96 Then
txtDealType.Text = "C"
ElseIf Percent < 93 Then
txtDealType.Text = "D"
End If

txtPERC.Text = FormatPercent(Percent, 1)
////////////////////

Ok here is the problem now...when ever I put ANY number to get the percent I always get the Value "D"
Even If I let say put
Sellingprice = 95 and ListPrice 100
this will give me  95%
but I still get a value of "D"...hell I can put both prices at 100 to get a percent of 100 and I still get "D" value

Also I put some breakpoints within the IF, elseif statments and I notice that my Percent value stores it like this (0.95)
That alone tells me that obviously is less than it really should be.....
Therefore I'm thinking is there a way for it not be be a percent, but better yet a whole number...maybe I can avoid that whole error that I'm getting

Thanks for your time guys :)

0
Question by:masterat03
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 3
• 2

LVL 21

Expert Comment

ID: 16952860
Don't you just need to multiply percent by 100 and then you could compare to integers like 93?
0

LVL 4

Expert Comment

ID: 16952909
Why don't you do put decimal points while comparing like this?
If Percent > 99 Then
txtDealType.Text = "A"
ElseIf Percent > 96 And Percent < 99 Then
txtDealType.Text = "B"
ElseIf Percent > 93 And Percent < 96 Then
txtDealType.Text = "C"
ElseIf Percent < 93 Then
txtDealType.Text = "D"
End If

Or multily with 100 while calculating percent
Percent = SellingPrice / ListPrice * 100
0

LVL 4

Expert Comment

ID: 16952919
forgot to put decimal points
If Percent > .99 Then
txtDealType.Text = "A"
ElseIf Percent > .96 And Percent < .99 Then
txtDealType.Text = "B"
ElseIf Percent > .93 And Percent < .96 Then
txtDealType.Text = "C"
ElseIf Percent < .93 Then
txtDealType.Text = "D"
End If
0

Author Comment

ID: 16952940
you are correct mastoo how silly of me not multiplying it after it gets divided :(

hey I was going to say though my output goes out of range..example
instead of 95.0% it does this

95,000%

Even though before i had the
txtPERC.Text = FormatPercent(Percent, 1)

is there anyway to format it correctly besides the way im doing it now?
0

LVL 4

Accepted Solution

indu_mk earned 400 total points
ID: 16952988
Dim SellingPrice As Double
Dim ListPrice As Double
Dim Percent As Double

SellingPrice = txtSellingPrice.Text
ListPrice = txtListPrice.Text

'Will divide to calculate percent.
Try

Percent = SellingPrice / ListPrice
Catch exMessage As DivideByZeroException
MsgBox(exMessage.Message)
End Try

If Percent > 0.99 Then
txtDealType.Text = "A"
ElseIf Percent > 0.96 And Percent < 0.99 Then
txtDealType.Text = "B"
ElseIf Percent > 0.93 And Percent < 0.96 Then
txtDealType.Text = "C"
ElseIf Percent < 0.93 Then
txtDealType.Text = "D"
End If
txtPERC.Text = FormatPercent(Percent, 1)
0

Author Comment

ID: 16952990
hey indu mk it works the way you said.
I find it much easier, plus I didnt have to multiply it by 100 because the decimal is already in place
//////

If Percent > 0.99 Then
txtDealType.Text = "A"

ElseIf Percent > 0.96 And Percent < 0.99 Then
txtDealType.Text = "B"
ElseIf Percent > 0.93 And Percent < 0.96 Then
txtDealType.Text = "C"

ElseIf Percent < 0.93 Then
txtDealType.Text = "D"
End If

txtPERC.Text = FormatPercent(Percent, 1)

/////////
This definetly works well

0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
###### Suggested Courses
Course of the Month11 days, 11 hours left to enroll