Format PT
From SA-MP Wiki
format
Nota: O nome desta função começa com uma letra minúscula. |
Descrição:
Nota | Esta função não suporta strings compactadas. |
output[] | A string que vai ser armazenada o resultado da formatação |
len | O tamanho máximo da string de saída |
format[] | O formato da string |
{Float,_}:... | O número indefinido de argumentos com qualquer tag |
Retorno | Esta função não retorna um valor especifico. |
Especificadores de formato
Especificador | Significado |
---|---|
%i | Números inteiros |
%d | Números inteiros |
%s | String |
%f | Número com ponto flutuante (Float: tag), ex: 1.5 |
%c | Caractere ASCII |
%x | Número hexadecimal |
%b | Número binário |
%% | Exatamente '%' |
%q | Escape de texto para SQLite. (Adicionado na versão 0.3.7 R2) |
Os valores dos espaços reservados seguem exatamente a mesma ordem dos parâmetros na chamada. Por exemplo, "Eu tenho anos de idade": o% vou ser substituído por uma variável do tipo inteiro, que é a idade da pessoa.
Você pode opcionalmente colocar um número entre o '%' e a letra do código do marcador de posição. Este número indica a largura do campo; se o tamanho do parâmetro para imprimir na posição do espaço reservado for menor que a largura do campo, o campo é expandido com espaços. Para cortar o número de casas decimais sendo mostrado de um flutuador, você pode adicionar '. <Max number>' entre '%' e 'f'. (exemplo:%.2f)
Exemplo de uso:
new resultado[59]; new numero = 42; format(resultado,sizeof(resultado), "O número é %i.",number); //-> O número é 42. new string[]= "uma simples mensagem"; format(resultado,sizeof(resultado), "Essa é %s que contém o número %i.", string, number); // Essa é um simples mensagem que contém o número 42.
new string[64]; format(string,sizeof(string),"Seu level é: %d", GetPlayerScore(playerid)); SendClientMessage(playerid,0xFFFFFFAA,string);
new hour, minute, second, string[32]; gettime(hour, minute, second); format(string, sizeof(string), "O horário é %02d:%02d:%02d.", hour, minute, second); // will output something like 09:45:02 SendClientMessage(playerid, -1, string);
Uma maneira de inserir o sinal de porcentagem é fazer:
new string[35]; format(string,sizeof(string),"Carregando 69%s.","%%"); SendClientMessage(playerid,0xFFFFFAA,string); //Ou simplesmente: SendClientMessage(playerid,0xFFFFFAA,"Carregando 69%%.");
Funções Relacionadas
As seguintes funções podem ser úteis, pois estão de alguma forma, relacionadas a esta função.
- format: Formata uma string.
- strlen: Pega o tamanho de uma string.
- strpack: Compacta uma string e armazena em uma string de destino.
- strunpack: Descompacta uma string.
- strcat: Concatena duas strings.
- strmid: Extrai uma sequência de caracteres de uma string.
- strins: Insere uma sequência de caracteres em uma determinada posição de uma string.
- strdel: Delete uma parte da string a partir de uma posição inicial e final.
- strcmp: Compara duas strings para ver se são iguais.
- strfind: Procura uma sequência de caracteres dentro de uma string.
- strval: Converte uma string para números inteiros
- valstr: Converte um número para uma string.
- ispacked: Verifica se uma string esta compactada.
- memcpy: Copia bytes de uma array para outra array.