Posted by cl on Friday, May 8, 2009 at 1:11pm.
here is my source code for my program im trying to convert 10 units from furlong to meters the answer is supposed to be 2011.68 meters
i keep getting 2000. I know if i cant get this right the rest of the conversion will give the wrong answers anybody have any ideas?
Dim inch As Long
Dim fathom As Long
Dim foot As Long
Dim furlong As Long
Dim kilometer As Long
Dim meter As Long
Dim rod As Long
Dim miles As Long
Dim yard As Long
Dim Feet As Long
Dim Original As Long
Dim Desired As Long
Dim A(0 To 9) As Long
Dim B(0 To 9) As Long
Dim result As Long
Private Sub convertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles convertButton.Click
Feet = Val(ConvertText.Text)
Original = Val(OUnitsTexT.Text)
Desired = Val(DUnitsText.Text)
inch = 0.0833 * Feet
yard = 3 * Feet
meter = 3.28155 * Feet
fathom = 6 * Feet
rod = 16.5 * Feet
furlong = 660 * Feet
kilometer = 3281.5 * Feet
miles = 5280 * Feet
A(1) = inch
A(2) = fathom
A(3) = foot
A(4) = furlong
A(5) = kilometer
A(6) = meter
A(7) = miles
A(8) = rod
A(9) = yard
B(1) = inch
B(2) = fathom
B(3) = Feet
B(4) = furlong
B(5) = kilometer
B(6) = meter
B(7) = miles
B(8) = rod
B(9) = yard
result = ((A(Original)) / ((B(Desired)) / Feet))
lengthText.Text = Val(result)
lengthText.Text = FormatNumber(result, 2, , , TriState.True)

visual basic  SraJMcGin, Friday, May 8, 2009 at 2:41pm
I only know that taking this Conversion Chart, entering 6600 feet and changing to meters, I do get 2022.68.
http://www.sciencemadesimple.com/length_conversion.php
This is definitely not my area so I can not help you set up a formula, if that is what you need.
Sra

visual basic  RickP, Friday, May 8, 2009 at 7:04pm
The problem MIGHT be here.
result = ((A(Original)) / ((B(Desired)) / Feet))
Some languages (like C and C++) do integer division unless you explicitly make it do "normal" division. In other words, if you do 5/2 in C the result will be the integer 2, not the "floating point number" 2.5.

visual basic  RickP, Friday, May 8, 2009 at 7:08pm
I just figured it out: It's simpler than that.
You are declaring all of your numeric variables a LONG. LONG is an integer data type: it does not store anything to the right of a decimal point.
Try using DOUBLE (or better, DECIMAL, if your version supports it) for any numbers you need to have values to the right of the decimal point.
Answer This Question
Related Questions
 visual basic  Doing a units of measurement program don't know what the formula ...
 Programming  Here is the question that I need help to write the code for the ...
 physics  You are standing 7.0 meters from a sound source that radiates equally ...
 Geometry  Can you check these multiple choice questions thanks. 1. What is the ...
 PROGRAMMING  PLS, I NEED TO BE GUIDED ON HOW TO WRITE A SIMPLE PROGRAM IN BASIC...
 Physics  PLEASE HELP, I'm trying to study for a quiz >.< and I don't ...
 C++ program  Please help am not very good at c program. Am supposed to create a...
 Programming (Visual Basic)  Im seem to be having trouble with this Exercise. ...
 Chemistry  K1 = 0.727 K2 = 12.1 T1 = 2000 T2 = 3000 Solve for the standard ...
 Calculus 2  A spring has a natural length of 25 meters. A force of 12 newtons ...
More Related Questions