Método para gerar o código da posição de 20 a 44

@return string
321982
protected function getCampoLivre()
    {
        if ($this->campoLivre) {
            return $this->campoLivre;
        }
        return $this->campoLivre = '9' . Util::numberFormatGeral($this->getCodigoCliente(), 7)
            . Util::numberFormatGeral($this->getNossoNumero(), 13)
            . Util::numberFormatGeral($this->getIos(), 1)
            . Util::numberFormatGeral($this->getCarteira(), 3);
    }
1059982
protected function _getNextCode()
    {
        if ($this->_bytePointer == $this->_dataLength) {
            return 257;
        }

        $this->_nextData = ($this->_nextData << 8) | (ord($this->_data[$this->_bytePointer++]) & 0xff);
        $this->_nextBits += 8;

        if ($this->_nextBits < $this->_bitsToGet) {
            $this->_nextData = ($this->_nextData << 8) | (ord($this->_data[$this->_bytePointer++]) & 0xff);
            $this->_nextBits += 8;
        }

        $code = ($this->_nextData >> ($this->_nextBits - $this->_bitsToGet)) & $this->_andTable[$this->_bitsToGet-9];
        $this->_nextBits -= $this->_bitsToGet;

        return $code;
    }
325634
protected function getCampoLivre()
    {
        if ($this->campoLivre) {
            return $this->campoLivre;
        }

        $campoLivre = '2';
        $campoLivre .= '1';
        $campoLivre .= Util::numberFormatGeral($this->getCodigoCliente(), 11); //4 digitos da agencia + 7 primeiros digitos pois os ultimos 2 são digitos verificadores
        $campoLivre .= Util::numberFormatGeral($this->getNumero(), 8);
        $campoLivre .= '40';
        $campoLivre .= CalculoDV::banrisulDuploDigito(Util::onlyNumbers($campoLivre));

        return $this->campoLivre = $campoLivre;
    }
876162
public function toString()
    {
        if ($this->max !== -1) {
            return vsprintf('{length: %d <= x <= %d}', [
                $this->min,
                $this->max,
            ]);
        }

        return vsprintf('{length: %d <= x}', [
            $this->min,
        ]);
    }
993924
public static function gerar()
    {
        $cpf = array ();
        for ($i = 0; $i < 9; $i++) {
            $cpf[$i] = rand(0, 9);
        }

        // Primeiro dígito
        $soma = 0;
        for ($i = 0; $i < 9; $i++) {
            $soma += ((10 - $i) * $cpf[$i]);
        }
        $d1 = 11 - ($soma % 11);
        if ($d1 >= 10) {
            $d1 = 0;
        }
        $cpf[9] = $d1;

        // Segundo Dígito
        $soma = 0;
        for ($i = 0; $i < 10; $i++) {
            $soma += ((11 - $i) * $cpf[$i]);
        }
        $d2 = 11 - ($soma % 11);
        if ($d2 >= 10) {
            $d2 = 0;
        }
        $cpf[10] = $d2;

        return static::formatar(implode("", $cpf));
    }
1085458
public function toMicro()
    {
        $inner = $this->getAttribute("amount", false); //cast=false
        $decimals = $this->getDivisibility();

        if (is_integer($inner)) {
            $attrib = $inner;
        }
        elseif (is_float($inner)) {
            // we want only integer!
            $attrib = $inner * pow(10, $decimals);
        }
        elseif (is_string($inner)) {
            // parse number string representation. Parsing to float.
            $isFloat = false !== strpos($inner, ".");
            $number = $isFloat ? (float) $inner : (int) $inner;
            $multi  = $isFloat ? pow(10, $decimals) : 1;
            $attrib = $number * $multi;
        }
        elseif (is_array($inner)) {
            // try to read first value of array
            $attrib = array_shift($inner);
        }
        else {
            $attrib = (int) $inner;
        }

        $this->micro = (int) $attrib;
        if ($this->micro < 0)
            // not allowed: 0 in micro XEM is the minimum possible value!
            $this->micro = 0;

        return $this->micro;
    }
772649
public function getCodigoTransmissao()
    {
        $conta = $this->getConta();
        if (strlen($conta) == 9) {
            $conta = substr($conta, 0, 7);
        }

        return Util::formatCnab('9', $this->getAgencia(), 4)
            . Util::formatCnab('9', substr($this->getCodigoCliente(), 0, 7), 8)
            . Util::formatCnab('9', $conta, 8);
    }
496465
public function getInstrucoesImpressao()
    {
        if (!empty($this->instrucoes_impressao))
            return array_slice((array)$this->instrucoes_impressao + [null, null, null, null, null], 0, 5);
        else
            return [];
    }
946005
private function getDataOnlyEntity(): array
    {
        $data = [];
        foreach ($this->dicionario as $meta) {
            if (!in_array($meta->getFormat(), ["extend_mult", "list_mult", "selecao_mult", "information", "checkbox_mult"]) && ($meta->getFormat() !== "password" || strlen($meta->getValue()) > 3))
                $data[$meta->getColumn()] = $meta->getValue();
        }
        return $data;
    }
205571
public static function gerar()
    {
        $cnpj = array ();
        for ($i = 0; $i < 8; $i++) {
            $cnpj[$i] = rand(0, 9);
        }
        $cnpj[8]  = 0;
        $cnpj[9]  = 0;
        $cnpj[10] = 0;
        $cnpj[11] = 1;

        // Primeiro dígito
        $multiplicadores = array (5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2);
        $soma            = 0;
        for ($i = 0; $i <= 11; $i++) {
            $soma += $multiplicadores[$i] * $cnpj[$i];
        }
        $d1 = 11 - ($soma % 11);
        if ($d1 >= 10) {
            $d1 = 0;
        }
        $cnpj[12] = $d1;

        // Segundo dígito
        $multiplicadores = array (6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2);
        $soma            = 0;
        for ($i = 0; $i <= 12; $i++) {
            $soma += $multiplicadores[$i] * $cnpj[$i];
        }
        $d2 = 11 - ($soma % 11);
        if ($d2 >= 10) {
            $d2 = 0;
        }
        $cnpj[13] = $d2;

        return static::formatar(implode("", $cnpj));
    }
1285731
protected function gerarCodigoBarras()
    {
        $data = $this->setDadosBoleto();

        $this->getConvenio()->gerarCampoLivre($data);

        $tamanhos = $this->convenio->getTamanhos();

        foreach ($data as $var => $value) {
            if (array_key_exists($var, $tamanhos)) {
                $data[$var] = StringBuilder::normalize($data[$var], $tamanhos[$var]);
            }
        }

        //Chamada do método que ajusta o NossoNumero
        $this->getConvenio()->ajustarNossoNumero($data);

        $this->convenio->setNossoNumero($data['NossoNumero']);

        $cod = $this->aplicarDadosAoLayout($this->convenio->getLayout(), $data);

        $dv = Number::modulo11($cod, 1, 1);

        $codigoBarras = $this->inserirDigitoVerificador($cod, $dv, 4);

        return $codigoBarras;
    }
775901
protected function gerarNossoNumero()
    {
        $numero_boleto = Util::numberFormatGeral($this->getNumero(), 15);
        $composicao = '1';
        if ($this->getCarteira() == 'SR') {
            $composicao = '2';
        }

        $carteira = $composicao . '4';
        // As 15 próximas posições no nosso número são a critério do beneficiário, utilizando o sequencial
        // Depois, calcula-se o código verificador por módulo 11
        $numero = $carteira . Util::numberFormatGeral($numero_boleto, 15);
        return $numero;
    }
1346766
public function toString() {
		$txt = $this->getName ();
		$txt .= $this->getPesel ();
		$txt .= "id:";
		$txt .= $this->getId ();
		$txt .= "oid:";
		$txt .= $this->getOddzialId ();
		$txt .= "d:";
		$data = $this->getDataKategoryzacji ();
		if ($data instanceof \DateTime) {
			$txt .= $this->getDataKategoryzacji ()->format ( "Y-m-d" );
		} else {
			$txt .= $this->getDataKategoryzacji ();
		}
		return $txt;
	}
1367613
public function toString() {
    $text = '';
    $args = array();

    $start_date = FALSE;
    $end_date = FALSE;

    // Day of the week constraint variable.
    $day_of_the_week = $this->getWeekDay($this->checkin_day);

    // Date range constraint variables.
    if ($this->start_date !== NULL && $this->start_date != (new \DateTime('1970-01-01'))) {
      $start_date = $this->start_date->format('Y-m-d');
    }
    if ($this->end_date !== NULL && $this->end_date != (new \DateTime('2999-12-31'))) {
      $end_date = $this->end_date->format('Y-m-d');
    }

    // Finally, build out the constraint text string adding components
    // as necessary.

    // Specify a date range constraint.
    if ($start_date && $end_date) {
      $text = 'From @start_date to @end_date';

      $args['@start_date'] = $start_date;
      $args['@end_date'] = $end_date;
    }

    // Specify the day of the week constraint.
    if ($day_of_the_week) {
      if ($start_date && $end_date) {
        $text = 'From @start_date to @end_date, bookings must start on @day_of_the_week';
      } else {
        $text = 'Bookings must start on @day_of_the_week';
      }

      $args['@day_of_the_week'] = $day_of_the_week;
    }

    return array('text' => $text, 'args' => $args);
  }
470854
public function getAgenciaCodigoBeneficiario()
    {
        $agencia = $this->getAgenciaDv() !== null ? $this->getAgencia() . '-' . $this->getAgenciaDv() : $this->getAgencia();

        if ($this->getContaDv() !== null && strlen($this->getContaDv()) == 1) {
            $conta = substr($this->getConta(), 0, -1) . '-' .substr($this->getConta(), -1).$this->getContaDv();
        } elseif ($this->getContaDv() !== null && strlen($this->getContaDv()) == 2) {
            $conta = substr($this->getConta(), 0, -1) . '-' .substr($this->getConta(), -1).$this->getContaDv();
        } else {
            $conta = $this->getConta();
        }

        return $agencia . ' / ' . $conta;
    }
467863
public function readInt()
    {
        $str = $this->_fread(4);

        return  ord($str[0]) << 24 |
                ord($str[1]) << 16 |
                ord($str[2]) << 8  |
                ord($str[3]);
    }
933768
public function convertir()
    {
        $n_str = (string)$this->numero_entero;//Convierte el número entero a cadena

        if ($this->numero_entero == 0) {
            $letras = $this->simple[0] . " " . $this->moneda;
        }

        //Numero < 1000
        elseif ($this->numero_entero < 1000) {
            $n = $this->numero_entero;
            $n_txt = $this->menor_mil($n);
            $letras = $n_txt . " " . $this->moneda;
        }

        //Numero {1000 < n < 1,000,000}
        elseif ($this->numero_entero < 1000000) {
            $m = 0;
            $long_n = strlen($n_str);//cuenta el número de caracteres
            $f = 1;

            //Separa los miles para ser evaluados con la función menor_mil
            for ($k = $long_n; $k > 3; $k--) {
                $m += ($n_str[$k-4] * $f);    //recupera la posicion 0,1,2 y Multiplica por 1,10,y 100
                $f *= 10;
            }

            //Miles que pasan a funcion menor_mil para ser evaluadas
            $miles_txt = $this->menor_mil($m);

            $n = $this->numero_entero - $m * 1000;//Elimina los miles

            $n_txt = $this->menor_mil($n);//Unidades, Decenas y Centenas a ser evaluadas
            $letras = $miles_txt . $this->miles . $n_txt . " " . $this->moneda;
        }

        //número mayor o igual a 1,000,000
        else {
            $long_n = strlen($n_str);//cuenta el número de caracteres
            $f = 1;
            $mm = 0;
            for ($k = $long_n; $k > 6; $k--) {
                $mm += ($n_str[$k-7] * $f);    //Recupera la posición 0,1,2 del array u la Multiplica por 1,10,y 100 respectivamente
                $f *= 10;
            }

            if ($mm == 1) {
                $this->millones = $this->millon;
            }
            $millones_txt = $this->menor_mil($mm);

            $f=1;
            $m = 0;
            //Separa los miles para ser evaluados con la función menor_mil
            for ($k = $long_n; $k > $long_n - 3; $k--) {
                $m += ($n_str[$k-4] * $f);    //Multiplica por 1,10,y 100
                $f *= 10;
            }

            //Miles que pasan a funcion menor_mil para ser evaluadas
            $miles_txt = $this->menor_mil($m);
            $n = $this->numero_entero - $m*1000 - $mm*1000000;//Elimina los miles y millones
            $n_txt = $this->menor_mil($n);//Unidades, Decenas y Centenas a ser evaluadas
            $letras = $millones_txt . $this->millones . $miles_txt . $this->miles . $n_txt . " " . $this->moneda;
        }

        //Evaluación de decimales
        //Si no tiene decimal
        if (strchr($this->numero, ".") == "") {
            return ("(" . $letras . " 00/100)");
        } else {
            $dec = strchr($this->numero, ".");
            if (empty($dec[2])) {
                $d = $dec['1'] . '0';
            } else {
                $d = $dec['1'] . (integer)$dec['2'];
            }
            return ("(" . $letras . " " . $d . "/100)");
        }
    }