dev/financial#166 Fix for inconsistency around currency symbol
authoreileen <emcnaughton@wikimedia.org>
Fri, 26 Feb 2021 05:05:14 +0000 (18:05 +1300)
committereileen <emcnaughton@wikimedia.org>
Mon, 1 Mar 2021 00:05:21 +0000 (13:05 +1300)
From https://lab.civicrm.org/dev/financial/-/issues/166 we learn that the existing code
(tested via testFormatLocaleNumericRoundedByCurrency) is not consistent across
all platforms. I think this may be

CRM/Utils/Money.php

index 02b0ed54ccebc15f6680187f7aa35ab3c5d15968..9fbb1ce5ad6b6bc81ebc0791f71cdc1713dff66a 100644 (file)
@@ -215,8 +215,7 @@ class CRM_Utils_Money {
     // fix to allow us to resolve formatLocaleNumericRoundedByPrecision
     // and to make the function comments correct - but, we need to reconsider this
     // in master as it is probably better to use locale than our currency separator fields.
-    $formatter = new \NumberFormatter('en_US', NumberFormatter::CURRENCY);
-    $formatter->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, '');
+    $formatter = new \NumberFormatter('en_US', NumberFormatter::DECIMAL);
     $formatter->setAttribute(\NumberFormatter::MIN_FRACTION_DIGITS, $numberOfPlaces);
     return $money->formatWith($formatter);
   }