You are here

public function MinorUnitsConverter::toMinorUnits in Price 2.x

Same name and namespace in other branches
  1. 2.0.x src/MinorUnitsConverter.php \Drupal\price\MinorUnitsConverter::toMinorUnits()

Converts the given amount to its minor units.

For example, 9.99 USD becomes 999.

Parameters

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

Return value

int The amount in minor units, as an integer.

Overrides MinorUnitsConverterInterface::toMinorUnits

File

src/MinorUnitsConverter.php, line 43

Class

MinorUnitsConverter
Default implementation of the minor units converter.

Namespace

Drupal\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);
}