У меня есть проект Symfony 2.5, где я пытаюсь выполнить проверку валюты на внутреннем сервере. По этой причине есть класс NumberFormatter из библиотеки интернационализации PHP с разбором всех необходимых входных данных. По какой-то причине метод parse()
всегда возвращает false.NumberFormatter parse возвращает false для Тип валюты на Symfony 2.5
Образец кода:
private $numberFormatter;
function __construct()
{
$this->numberFormatter =
new \NumberFormatter("en-US", \NumberFormatter::CURRENCY);
}
//....
public function getDataAction(Request $request)
{
$newValue = $this->numberFormatter->parse(
$request->get('some_value')
);
//....
}
Ничего особенного на самом деле. Оба аэроропорт и MBstring расширения установлены и работает - проверено с phpinfo();
Я использую PHP5.6, междунар версия 1.1.0, не DEFAULT_LOCALE (но я попытался установить его до ванной -US и ничего не изменилось). Кроме того, я на Ubuntu 16.04, с MySQL 5.7.12 и Apache2.
Я искал здесь и в сети для решения, но не смог получить. Вы можете помочь, спасибо?
Что является результатом '$ request-> Get ('some_value')'? – ShiraNai7
@ ShiraNai7 Значение int, исходящее из формы, например. 400 –
@ ShiraNai7 Просто попробовал заставить parse() с '$ this-> numberFormatter-> parse ((string) $ request-> get ('some_value'))' и '$ this-> numberFormatter-> parse ((int) $ request-> get ('some_value')) ', но опять же - не повезло. –