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