В нашем приложении мы используем number_to_currency(value, :precision => 2)
. Однако теперь у нас есть требование, при котором значение может потребовать отображения до трех или более знаков после запятой, например.Использование значения динамической точности в number_to_currency на основе десятичного значения
0.01 => "0.01"
10 => "10.00"
0.005 => "0.005"
В нашем варианте реализации третий пример оказывает как:
0.005 => "0.01"
Какой самый лучший подход для меня, чтобы взять здесь? Может ли number_to_currency
работать для меня? Если нет, как определить, сколько десятичных знаков должно отображаться заданное значение с плавающей запятой? sprintf("%g", value)
подходит к концу, но я не могу понять, как сделать так, чтобы он всегда выполнял минимум 2 дп.