php NumberFormater locale

Мой PHP

$MoneyFormat = new NumberFormatter('en_US.utf8', \NumberFormatter::TYPE_CURRENCY);
print $MoneyFormat->format(5.12); 

дает мне

5.12E0

Почему? Я, конечно, ожидаю $ 5,12 Если я изменю параметр locale в NumberFormater на de_DE.utf8. Я получаю

5,12E0

locale -a

C
C.UTF-8
de_DE.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

Ubuntu 20.04.2 LTS / PHP 7.4.12

0
задан 30 April 2021 в 20:05

1 ответ

The Constant for NumberFormatter: :__construct является NumberFormatter::CURRENCY

 $MoneyFormat = new \NumberFormatter('en_US', \NumberFormatter::CURRENCY);
 print $MoneyFormat->format(5.12);
0
ответ дан 7 May 2021 в 17:42

Другие вопросы по тегам:

Похожие вопросы: