You are here

public function MinorUnitsConverter::toMinorUnits in Commerce Core 8.2

Converts the given amount to its minor units.

For example, 9.99 USD becomes 999.

Parameters

\Drupal\commerce_price\Price $amount: The amount.

Return value

int The amount in minor units, as an integer.

Overrides MinorUnitsConverterInterface::toMinorUnits

File

modules/price/src/MinorUnitsConverter.php, line 43

Class

MinorUnitsConverter
Default implementation of the minor units converter.

Namespace

Drupal\commerce_price

Code

public function toMinorUnits(Price $amount) : int {
  $fraction_digits = $this->currencyRepository
    ->getDefaultFractionDigits($amount
    ->getCurrencyCode());
  $number = $amount
    ->getNumber();
  if ($fraction_digits > 0) {
    $number = Calculator::multiply($number, pow(10, $fraction_digits));
  }
  return round($number);
}