Биткойн допускает 8 знаков после запятой (123.45678912).
Как я могу использовать ZF2 I18n для форматирования валюты, чтобы отформатировать сумму биткойна с полными 8 десятичными знаками вместо того, чтобы просто сократить его до 2 десятичных знаков?
Если бы я потратил еще несколько минут, чтобы провести немного больше исследований:
Из документации ZF2 на http://framework.zend.com/manual/2.3/en/modules/zend.i18n.view.helpers.html
Я нашел следующую ссылку:
http://www.icu-project.org/apiref/icu4c/classDecimalFormat.html#details
Если вы прокрутите вниз до разделов десятичного формата и значащих цифр, вы увидите ответ. Я сделал это для того, чтобы мой код представлял BTC:
$cur = getCurrency();
$this->plugin("currencyformat")->setCurrencyCode($cur);
if($cur == "BTC"):
$this->plugin("currencyformat")->setCurrencyPattern('@############### ¤');
endif;
«@» Означает отображение по крайней мере одной цифры значения. 15 символов «#» и «@» означают, что максимальное количество значащих цифр для показа равно 16. «¤» будет отображать валюту в конце числа.
Для MySQL столбец, который я использую для хранения этих сумм, — DECIMAL (16,8), так что для меня это прекрасно работает.
Если у вас есть лучшие предложения, пожалуйста, не стесняйтесь поделиться.
Других решений пока нет …