Old Russian measure of length: Difference between revisions

(Added AppleScript solutions.)
Line 1,541:
100 m = 2249,2971 vershoks = 140,58107 arshins = 46,860366 sazhens = 0,093790712 versts;
3 vershoks = 13,3375 cm; 2 sazhens = 96 vershoks = 6 arshins = 4,268 m; 1 verst = 1,067 km.
 
=={{header|Nim}}==
{{trans|Python}}
<lang Nim>import os, strutils, sequtils, tables
 
const Unit2Mult = {"arshin": 0.7112, "centimeter": 0.01, "diuym": 0.0254,
"fut": 0.3048, "kilometer": 1000.0, "liniya": 0.00254,
"meter": 1.0, "milia": 7467.6, "piad": 0.1778,
"sazhen": 2.1336, "tochka": 0.000254, "vershok": 0.04445,
"versta": 1066.8}.toOrderedTable
 
if paramCount() != 2:
raise newException(ValueError, "deed two arguments: number then units.")
 
let value = try: parseFloat(paramStr(1))
except ValueError:
raise newException(ValueError, "first argument must be a (float) number.")
 
let unit = paramStr(2)
if unit notin Unit2Mult:
raise newException(ValueError,
"only know the following units: " & toSeq(Unit2Mult.keys).join(" "))
 
echo value, ' ', unit, " to:"
for (key, mult) in Unit2Mult.pairs:
echo key.align(10), ": ", formatFloat(value * Unit2Mult[unit] / mult, ffDecimal, 5)</lang>
 
{{out}}
<pre>1.0 meter to:
arshin: 1.40607
centimeter: 100.00000
diuym: 39.37008
fut: 3.28084
kilometer: 0.00100
liniya: 393.70079
meter: 1.00000
milia: 0.00013
piad: 5.62430
sazhen: 0.46869
tochka: 3937.00787
vershok: 22.49719
versta: 0.00094</pre>
 
=={{header|Perl}}==
Anonymous user