PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.19.1
GiveWP – Donation Plugin and Fundraising Platform v3.19.1
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / moneyphp / money / src / Formatter / IntlLocalizedDecimalFormatter.php
give / vendor / moneyphp / money / src / Formatter Last commit date
AggregateMoneyFormatter.php 4 years ago BitcoinMoneyFormatter.php 4 years ago DecimalMoneyFormatter.php 4 years ago IntlLocalizedDecimalFormatter.php 4 years ago IntlMoneyFormatter.php 4 years ago
IntlLocalizedDecimalFormatter.php
70 lines
1 <?php
2
3 namespace Money\Formatter;
4
5 use Money\Currencies;
6 use Money\Money;
7 use Money\MoneyFormatter;
8
9 /**
10 * Formats a Money object using intl extension.
11 *
12 * @author Frederik Bosch <f.bosch@genkgo.nl>
13 */
14 final class IntlLocalizedDecimalFormatter implements MoneyFormatter
15 {
16 /**
17 * @var \NumberFormatter
18 */
19 private $formatter;
20
21 /**
22 * @var Currencies
23 */
24 private $currencies;
25
26 /**
27 * @param \NumberFormatter $formatter
28 * @param Currencies $currencies
29 */
30 public function __construct(\NumberFormatter $formatter, Currencies $currencies)
31 {
32 $this->formatter = $formatter;
33 $this->currencies = $currencies;
34 }
35
36 /**
37 * {@inheritdoc}
38 */
39 public function format(Money $money)
40 {
41 $valueBase = $money->getAmount();
42 $negative = false;
43
44 if ($valueBase[0] === '-') {
45 $negative = true;
46 $valueBase = substr($valueBase, 1);
47 }
48
49 $subunit = $this->currencies->subunitFor($money->getCurrency());
50 $valueLength = strlen($valueBase);
51
52 if ($valueLength > $subunit) {
53 $formatted = substr($valueBase, 0, $valueLength - $subunit);
54 $decimalDigits = substr($valueBase, $valueLength - $subunit);
55
56 if (strlen($decimalDigits) > 0) {
57 $formatted .= '.'.$decimalDigits;
58 }
59 } else {
60 $formatted = '0.'.str_pad('', $subunit - $valueLength, '0').$valueBase;
61 }
62
63 if ($negative === true) {
64 $formatted = '-'.$formatted;
65 }
66
67 return $this->formatter->format($formatted);
68 }
69 }
70