我遇到了Symfony/Form的问题,它在幕后用于NumberFormatter格式化NumberType字段。我们的项目是多语言的,对于每个国家,我们使用不同的区域设置。
$formatter->format()返回负数的不同减号。例如:
$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
正如您所看到的,NumberFormatter减号更改为其他内容。
为什么它对我很重要?因为页面上有些元素是用javascript生成的,而js无法解析−150number 并返回NaN。
有人可以解释这种行为的原因以及如何从 lt 语言环境中获得正确的减号吗?NumberFormatter
不负相思意
长风秋雁
白衣染霜花