Magento – How to change price decimal symbol , in Magento 2 complete store

currencymagento2multicurrencymultistore

I created two stores – one for en_US other is Arabic that is ar_KW for Kuwait

When i switched the store from English to Arabic, my price decimal symbol changed from "." to ",". But, in my en_US store it shows "." only. How to fix this issue ?

Note :- In vendor\magento\framework\Locale\Format.php I changed . to some other symbol but it reflected only in Product Detail page and order summery block. In rest of them, the price symbol is still ,. How to fix this issue in one change ?

Best Answer

In vendor\magento\zendframework1\library\Zend\Locale\Data\ar.xml change :

<symbols numberSystem="arab">
    <decimal>,</decimal>

to

<symbols numberSystem="arab">
    <decimal>.</decimal>

In php ode level it happens in vendor \magento\zendframework1\library\Zend\Locale\Data.php in getList() method.

you can see switch statement there and you can do the changes in case 'symbols':

But, make sure cache is cleared before testing (in local system some times cache will lead to the changes not getting reflected properly)

Related Topic