PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / moneyphp / money / src / Formatter / DecimalMoneyFormatter.php
ameliabooking / vendor / moneyphp / money / src / Formatter Last commit date
AggregateMoneyFormatter.php 6 years ago BitcoinMoneyFormatter.php 2 years ago DecimalMoneyFormatter.php 2 years ago IntlLocalizedDecimalFormatter.php 2 years ago IntlMoneyFormatter.php 2 years ago
DecimalMoneyFormatter.php
60 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 public function __construct(Currencies $currencies)
22 {
23 $this->currencies = $currencies;
24 }
25
26 /**
27 * {@inheritdoc}
28 */
29 public function format(Money $money)
30 {
31 $valueBase = $money->getAmount();
32 $negative = false;
33
34 if ($valueBase[0] === '-') {
35 $negative = true;
36 $valueBase = substr($valueBase, 1);
37 }
38
39 $subunit = $this->currencies->subunitFor($money->getCurrency());
40 $valueLength = strlen($valueBase);
41
42 if ($valueLength > $subunit) {
43 $formatted = substr($valueBase, 0, $valueLength - $subunit);
44 $decimalDigits = substr($valueBase, $valueLength - $subunit);
45
46 if (strlen($decimalDigits) > 0) {
47 $formatted .= '.'.$decimalDigits;
48 }
49 } else {
50 $formatted = '0.'.str_pad('', $subunit - $valueLength, '0').$valueBase;
51 }
52
53 if ($negative === true) {
54 $formatted = '-'.$formatted;
55 }
56
57 return $formatted;
58 }
59 }
60