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 / DecimalMoneyFormatter.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
DecimalMoneyFormatter.php
63 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 as a decimal string.
11 *
12 * @author Teoh Han Hui <teohhanhui@gmail.com>
13 */
14 final class DecimalMoneyFormatter implements MoneyFormatter
15 {
16 /**
17 * @var Currencies
18 */
19 private $currencies;
20
21 /**
22 * @param Currencies $currencies
23 */
24 public function __construct(Currencies $currencies)
25 {
26 $this->currencies = $currencies;
27 }
28
29 /**
30 * {@inheritdoc}
31 */
32 public function format(Money $money)
33 {
34 $valueBase = $money->getAmount();
35 $negative = false;
36
37 if ($valueBase[0] === '-') {
38 $negative = true;
39 $valueBase = substr($valueBase, 1);
40 }
41
42 $subunit = $this->currencies->subunitFor($money->getCurrency());
43 $valueLength = strlen($valueBase);
44
45 if ($valueLength > $subunit) {
46 $formatted = substr($valueBase, 0, $valueLength - $subunit);
47 $decimalDigits = substr($valueBase, $valueLength - $subunit);
48
49 if (strlen($decimalDigits) > 0) {
50 $formatted .= '.'.$decimalDigits;
51 }
52 } else {
53 $formatted = '0.'.str_pad('', $subunit - $valueLength, '0').$valueBase;
54 }
55
56 if ($negative === true) {
57 $formatted = '-'.$formatted;
58 }
59
60 return $formatted;
61 }
62 }
63