コード例 #1
0
 /**
  * Modify Currency Format
  *
  * @param PriceCurrency $subject          Price Currency Object
  * @param \Closure      $proceed          Closure
  * @param float         $amount           Price Amount
  * @param bool          $includeContainer Include Container Flag
  * @param int           $precision        Precision digits
  * @param null          $scope            Data scope
  * @param null          $currency         Currency Code
  *
  * @return mixed
  */
 public function aroundFormat(PriceCurrency $subject, \Closure $proceed, $amount, $includeContainer = true, $precision = \Magento\Directory\Model\PriceCurrency::DEFAULT_PRECISION, $scope = null, $currency = null)
 {
     if ($subject->getCurrency()->getCode() == 'JPY') {
         $precision = '0';
         return $subject->getCurrency($scope, $currency)->formatPrecision($amount, $precision, [], $includeContainer);
     }
     return $proceed($amount, $includeContainer, $precision, $scope, $currency);
 }
コード例 #2
0
 /**
  * Modify rounding method
  *
  * @param PriceCurrency $subject   Price Currency
  * @param \Closure      $proceed   Closure
  * @param float         $amount    Price
  * @param int           $precision Currency precision
  *
  * @return mixed
  */
 public function aroundRound(PriceCurrency $subject, \Closure $proceed, $amount, $precision = 2)
 {
     if ($subject->getCurrency()->getCode() == 'JPY') {
         /**
          * Rounding method
          *
          * @var string $method rounding method
          */
         $method = $this->helper->getRoundMethod();
         if ($method != 'round') {
             return $method($amount);
         }
     }
     return $proceed($amount, $precision);
 }