code: public function setAmount( $amount )
      {
          if (preg_match( '/^(?:\d*\.)?\d+$/', $amount ) !== 1) {
              throw new InvalidArgumentException( sprintf( 'Amount should be a non-negative number (%s)', $amount ) );
          }
  
          $this->amount = (float)number_format( $amount, 4, '.', '' );
  
          return $this;
      }
docs: @param  float $amount
  
  @return $this