My offering for converting metric to imperial is below. This is based on metres and feet, however it is easy to scale up, just calculate the number of eighths in the desired distance.
vb.net Code:
  1. Private Function MetresToFeet(ByVal Answer As Single) As String
  2.         Dim Fraction As String = ""
  3.         Dim Inches As Single
  4.         Dim Feet As Single
  5.  
  6.         Const OneEighth As Single = 0.003175
  7.         '8 eighths in an inch
  8.         '96 eighths in a foot
  9.         Feet = Int(Answer / (96 * OneEighth))
  10.         Answer -= Feet * (96 * OneEighth)
  11.         Inches = Int(Answer / (8 * OneEighth))
  12.         Answer -= Inches * (8 * OneEighth)
  13.         Select Case Answer
  14.             Case Is >= 7 * OneEighth
  15.                 Fraction = "⅞"
  16.             Case Is >= 6 * OneEighth
  17.                 Fraction = "¾"
  18.             Case Is >= 6 * OneEighth
  19.                 Fraction = "⅝"
  20.             Case Is >= 4 * OneEighth
  21.                 Fraction = "½"
  22.             Case Is >= 3 * OneEighth
  23.                 Fraction = "⅜"
  24.             Case Is >= 2 * OneEighth
  25.                 Fraction = "¼"
  26.             Case Is >= OneEighth
  27.                 Fraction = "⅛"
  28.             Case Else
  29.                 Fraction = ""
  30.         End Select
  31.         Return Feet.ToString & "' " & Inches.ToString & Fraction & """"
  32.     End Function