I came across a problem with Symfony/Form which under the hood use NumberFormatter to format NumberType field. Our project is multilingual and for each country, we use a different locale.
$formatter->format() returns the different minus sign for negative numbers. For example:
$formatter = new \NumberFormatter('en', \NumberFormatter::DECIMAL);
$value = $formatter->format('-150');
var_dump($value); // string(4) "-150"
$formatter = new \NumberFormatter('lt', \NumberFormatter::DECIMAL);
$value = $formatter->format('-150');
var_dump($value); // string(6) "−150" <-- here is the problem
As you can see the NumberFormatter changes the minus sign to something else.
Why is it important for me? Because some elements on the page are generated with javascript, and js cannot parse −150 number and returns NaN.
Can somebody explain the reason for this behaviour and how to get correct minus sign from NumberFormatter for lt locale?