+1

Usando a função sprintf()

criado por Jayr H. C. Porto em 17/12/2003 3:29pm
Apesar de ter referenciado outras tarefas como relacionar exibição de moedas (float numbers), formatação de datas, numeros binários e hexadecimais, a maior vantagem desta função esta na integração de php+html. Para nosso sistema não há a possibilidade (pelo menos não achei até agora) de trocar o ponto decimal para vírgula, exibir os pontos de milhares e outras necessidades da lingua portuguesa. Prefira utilizar o number_format para esta tarefa.

Na integração do HTML+php, esta função é inigualável na montagem de combo box, checkbox e radius buttons, trabalhe um pouco com ela que sua vida ficará MUIIIIITO mais fácil.


Boa sorte a todos

Comentários:

Mostrando 1 - 6 de 6 comentários
Prof. Baco disse:
Olá tudo bem?
Eu li o seu artigo e o achei muito interessante mas não estou conesguindo formatar o valor de mil e milhar, ou seja:
$v1 = 1,234
$v2 = 134,358
sprintf('%0.2f',$v1) = 1.24
sprintf('%0.2f',$v2) = 134.36
Até aí tudo bem, mas se eu tiver valores acima de 1000, como por exemplo
$v3 = 1234,44343
sprintf('%0.2f',$v3) = 1234.44
E eu queria que ficasse assim:
sprintf('%0.2f',$v3) = 1 234.44
Mas não fica... sabe como resolver este problema?
24/10/2006 12:05pm (~18 anos atrás)

Alexandre disse:
Existe uma forma fácil de formatar os números e valores para o Brasil usando sprintf:

A função sprintf ou printf utiliza as informações da localidade atual. Isto pode, e vai, variar de um OS para outro.

Utilize antes das funções sprintf ou em um local genérico o seguinte :

setlocale(LC_ALL,'pt_BR');

O ideal é consultar a documentação de setlocale para mais detalhes.

Veja o resultado
em um exemplo simples:

<?php
$number = 192.65;
echo setlocale(LC_ALL,'pt_BR');
echo sprintf("%01.2f",$number);
?>

Produzirá a saída :

192,65

Usando isto vc pode estender para colocar a literal R$ antes e etc...


Espero ter ajudado !
Alexandre




15/12/2005 5:04am (~19 anos atrás)

Valeu, gostei muito da sua dica, ja fiquei muitas vezes doido na hora de imprimir muita informação, acho que agora terei menos problemas.
28/11/2005 4:59am (~19 anos atrás)

É bom lembrar que é interessante usar stripslashes ao invés de escapar com barras invertidas... principalmente ao retornar de um banco de dados onde as vezes não sabemos que resultado virá.

ex: $nome = stripslashes($nome)
09/01/2004 12:05pm (~21 anos atrás)

Na realidade, sprintf() e printf() são a mesma função em php. Eu utilizei o Sprint no título e no preâmbulo do artigo pois é a função onde esta a descrição do uso no manual do PHP.

Mesmo no manual, você poderá verificar que a descrição da função se encontra no tópico sprintf. Se você acessar o printf, ele diz que a explicação esta na outra função. Para simplificar o entendimento de alguém que por ventura quisesse verificar no manual, tentei ser coerente.
26/12/2003 5:47am (~21 anos atrás)

Primeiro quero falar que ta bem legal o artigo... e eh bem interessante o uso dessa funcao.
Mas nao entendi se vc queria falar sobre sprintf ou printf, acho que provavelmente errou no titulo, ja que usou printf() no artigo
21/12/2003 7:25pm (~21 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)