How to convert between mm, cm, meters, kilometers, miles, feet, yards, and inches in C#

1 Answer

0 votes
using System;

class UnitConverter
{
    // Conversion functions (all convert *from meters* first)
    static double mmToMeters(double mm)      { return mm / 1000.0; }
    static double cmToMeters(double cm)      { return cm / 100.0; }
    static double kmToMeters(double km)      { return km * 1000.0; }
    static double milesToMeters(double mi)   { return mi * 1609.34; }
    static double feetToMeters(double ft)    { return ft * 0.3048; }
    static double yardsToMeters(double yd)   { return yd * 0.9144; }
    static double inchesToMeters(double i)   { return i * 0.0254; }

    // Convert meters → all units
    static double toMillimeters(double m) { return m * 1000.0; }
    static double toCentimeters(double m) { return m * 100.0; }
    static double toKilometers(double m)  { return m / 1000.0; }
    static double toMiles(double m)       { return m / 1609.34; }
    static double toFeet(double m)        { return m / 0.3048; }
    static double toYards(double m)       { return m / 0.9144; }
    static double toInches(double m)      { return m / 0.0254; }

    static void Main()
    {
        int choice;
        double value, meters;

        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 = int.Parse(Console.ReadLine());

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

        // Convert chosen unit → meters
        switch (choice)
        {
            case 1: meters = mmToMeters(value); break;
            case 2: meters = cmToMeters(value); break;
            case 3: meters = value; break;
            case 4: meters = kmToMeters(value); break;
            case 5: meters = milesToMeters(value); break;
            case 6: meters = feetToMeters(value); break;
            case 7: meters = yardsToMeters(value); break;
            case 8: meters = inchesToMeters(value); break;
            default:
                Console.WriteLine("Invalid choice");
                return;
        }

        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"));
    }
}


/*
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: 

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

...