Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Create your online store today with Shopify

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Disclosure: My content contains affiliate links.

43,236 questions

56,139 answers

573 users

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

1 Answer

0 votes
import scala.io.StdIn.readLine

// Conversion functions (all convert *from meters* first)
def mmToMeters(mm: Double): Double      = mm / 1000.0
def cmToMeters(cm: Double): Double      = cm / 100.0
def kmToMeters(km: Double): Double      = km * 1000.0
def milesToMeters(mi: Double): Double   = mi * 1609.34
def feetToMeters(ft: Double): Double    = ft * 0.3048
def yardsToMeters(yd: Double): Double   = yd * 0.9144
def inchesToMeters(inches: Double): Double = inches * 0.0254

// Convert meters → all units
def toMillimeters(m: Double): Double = m * 1000.0
def toCentimeters(m: Double): Double = m * 100.0
def toKilometers(m: Double): Double  = m / 1000.0
def toMiles(m: Double): Double       = m / 1609.34
def toFeet(m: Double): Double        = m / 0.3048
def toYards(m: Double): Double       = m / 0.9144
def toInches(m: Double): Double      = m / 0.0254

@main def main(): Unit =
  val choice: Int =
    println("Choose input unit:")
    println("1. Millimeters")
    println("2. Centimeters")
    println("3. Meters")
    println("4. Kilometers")
    println("5. Miles")
    println("6. Feet")
    println("7. Yards")
    println("8. Inches")
    print("Enter choice: ")
    readLine().toIntOption.getOrElse(0)

  print("Enter value: ")
  val value: Double = readLine().toDoubleOption.getOrElse(0.0)

  // Convert chosen unit → meters
  val meters: Double = choice match
    case 1 => mmToMeters(value)
    case 2 => cmToMeters(value)
    case 3 => value
    case 4 => kmToMeters(value)
    case 5 => milesToMeters(value)
    case 6 => feetToMeters(value)
    case 7 => yardsToMeters(value)
    case 8 => inchesToMeters(value)
    case _ =>
      println("Invalid choice")
      return

  println()
  println(f"Converted from meters (${meters}%.6f m):")
  println(f"Millimeters: ${toMillimeters(meters)}%.6f")
  println(f"Centimeters: ${toCentimeters(meters)}%.6f")
  println(f"Meters:      ${meters}%.6f")
  println(f"Kilometers:  ${toKilometers(meters)}%.6f")
  println(f"Miles:       ${toMiles(meters)}%.6f")
  println(f"Feet (Foot): ${toFeet(meters)}%.6f")
  println(f"Yards:       ${toYards(meters)}%.6f")
  println(f"Inches:      ${toInches(meters)}%.6f")



/*
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 Jun 8 by avibootz

Related questions

...