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