Почему я не могу связать String.replace?
Я работаю над функцией форматирования цены, которая принимает плавающее число и правильно его отображает.
ех. 190,5, должно быть 190,50
Это то, что я придумал
def format_price(price) do
price
|> to_string
|> String.replace ".", ","
|> String.replace ~r/,(\d)$/, ",\\1 0"
|> String.replace " ", ""
end
Если я запускаю следующее.
format_price(299.0)
# -> 299,0
Похоже, он пробежал только через первую замену. Теперь, если я изменю это на следующее.
def format_price(price) do
formatted = price
|> to_string
|> String.replace ".", ","
formatted = formatted
|> String.replace ~r/,(\d)$/, ",\\1 0"
formatted = formatted
|> String.replace " ", ""
end
Тогда все, кажется, работает просто отлично.
format_price(299.0)
# -> 299,00
Почему это?