RosettaCodeData/Task/Price-fraction/Elixir/price-fraction.elixir
2015-11-18 06:14:39 +00:00

16 lines
627 B
Text

defmodule Price do
@table [ {0.06, 0.10}, {0.11, 0.18}, {0.16, 0.26}, {0.21, 0.32}, {0.26, 0.38},
{0.31, 0.44}, {0.36, 0.50}, {0.41, 0.54}, {0.46, 0.58}, {0.51, 0.62},
{0.56, 0.66}, {0.61, 0.70}, {0.66, 0.74}, {0.71, 0.78}, {0.76, 0.82},
{0.81, 0.86}, {0.86, 0.90}, {0.91, 0.94}, {0.96, 0.98}, {1.01, 1.00} ]
def fraction(value) when value in 0..1 do
{_, standard_value} = Enum.find(@table, fn {upper_limit, _} -> value < upper_limit end)
standard_value
end
end
val = for i <- 0..100, do: i/100
Enum.each(val, fn x ->
:io.format "~5.2f ->~5.2f~n", [x, Price.fraction(x)]
end)