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

1 Answer

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

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

// For Node.js input:
const readline = require("readline").createInterface({
    input: process.stdin,
    output: process.stdout
});

function ask(question) {
    return new Promise(resolve => readline.question(question, resolve));
}

async function main() {
    console.log("Choose input unit:");
    console.log("1. Millimeters");
    console.log("2. Centimeters");
    console.log("3. Meters");
    console.log("4. Kilometers");
    console.log("5. Miles");
    console.log("6. Feet");
    console.log("7. Yards");
    console.log("8. Inches");

    let choice = parseInt(await ask("Enter choice: "));
    let value = parseFloat(await ask("Enter value: "));

    let meters;

    // 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.log("Invalid choice");
            readline.close();
            return;
    }

    console.log(`\nConverted from meters (${meters.toFixed(6)} m):`);
    console.log("Millimeters: " + toMillimeters(meters).toFixed(6));
    console.log("Centimeters: " + toCentimeters(meters).toFixed(6));
    console.log("Meters:      " + meters.toFixed(6));
    console.log("Kilometers:  " + toKilometers(meters).toFixed(6));
    console.log("Miles:       " + toMiles(meters).toFixed(6));
    console.log("Feet (Foot): " + toFeet(meters).toFixed(6));
    console.log("Yards:       " + toYards(meters).toFixed(6));
    console.log("Inches:      " + toInches(meters).toFixed(6));

    readline.close();
}

main();



/*
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 1 hour ago by avibootz

Related questions

...