How to convert between mm, cm, meters, kilometers, miles, feet, yards, and inches in VB.NET

1 Answer

0 votes
Imports System

Module UnitConverter

    ' Conversion functions (all convert *from meters* first)
    Function mmToMeters(mm As Double) As Double
        Return mm / 1000.0
    End Function

    Function cmToMeters(cm As Double) As Double
        Return cm / 100.0
    End Function

    Function kmToMeters(km As Double) As Double
        Return km * 1000.0
    End Function

    Function milesToMeters(mi As Double) As Double
        Return mi * 1609.34
    End Function

    Function feetToMeters(ft As Double) As Double
        Return ft * 0.3048
    End Function

    Function yardsToMeters(yd As Double) As Double
        Return yd * 0.9144
    End Function

    Function inchesToMeters(i As Double) As Double
        Return i * 0.0254
    End Function

    ' Convert meters → all units
    Function toMillimeters(m As Double) As Double
        Return m * 1000.0
    End Function

    Function toCentimeters(m As Double) As Double
        Return m * 100.0
    End Function

    Function toKilometers(m As Double) As Double
        Return m / 1000.0
    End Function

    Function toMiles(m As Double) As Double
        Return m / 1609.34
    End Function

    Function toFeet(m As Double) As Double
        Return m / 0.3048
    End Function

    Function toYards(m As Double) As Double
        Return m / 0.9144
    End Function

    Function toInches(m As Double) As Double
        Return m / 0.0254
    End Function

    Sub Main()
        Dim choice As Integer
        Dim value As Double
        Dim meters As Double

        Console.WriteLine("Choose input unit:")
        Console.WriteLine("1. Millimeters")
        Console.WriteLine("2. Centimeters")
        Console.WriteLine("3. Meters")
        Console.WriteLine("4. Kilometers")
        Console.WriteLine("5. Miles")
        Console.WriteLine("6. Feet")
        Console.WriteLine("7. Yards")
        Console.WriteLine("8. Inches")
        Console.Write("Enter choice: ")
        choice = Integer.Parse(Console.ReadLine())

        Console.Write("Enter value: ")
        value = Double.Parse(Console.ReadLine())

        ' Convert chosen unit → meters
        Select Case choice
            Case 1 : meters = mmToMeters(value)
            Case 2 : meters = cmToMeters(value)
            Case 3 : meters = value
            Case 4 : meters = kmToMeters(value)
            Case 5 : meters = milesToMeters(value)
            Case 6 : meters = feetToMeters(value)
            Case 7 : meters = yardsToMeters(value)
            Case 8 : meters = inchesToMeters(value)
            Case Else
                Console.WriteLine("Invalid choice")
                Return
        End Select

        Console.WriteLine()
        Console.WriteLine("Converted from meters (" & meters.ToString("F6") & " m):")
        Console.WriteLine("Millimeters: " & toMillimeters(meters).ToString("F6"))
        Console.WriteLine("Centimeters: " & toCentimeters(meters).ToString("F6"))
        Console.WriteLine("Meters:      " & meters.ToString("F6"))
        Console.WriteLine("Kilometers:  " & toKilometers(meters).ToString("F6"))
        Console.WriteLine("Miles:       " & toMiles(meters).ToString("F6"))
        Console.WriteLine("Feet (Foot): " & toFeet(meters).ToString("F6"))
        Console.WriteLine("Yards:       " & toYards(meters).ToString("F6"))
        Console.WriteLine("Inches:      " & toInches(meters).ToString("F6"))
    End Sub

End Module


' run:
'
' Choose input unit:
' 1. Millimeters
' 2. Centimeters
' 3. Meters
' 4. Kilometers
' 5. Miles
' 6. Feet
' 7. Yards
' 8. Inches
' Enter choice: 4
' Enter value: 1
'
' Converted from meters (1000.000000 m):
' Millimeters: 1000000.000000
' Centimeters: 100000.000000
' Meters:      1000.000000
' Kilometers:  1.000000
' Miles:       0.621373
' Feet (Foot): 3280.839895
' Yards:       1093.613298
' Inches:      39370.078740
'

 



answered 2 hours ago by avibootz

Related questions

...