Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

N3lson

Printf vs Sprintf

Mensagens Recomendadas

N3lson

Boas alguém pode me explicar porque ocorre isto?

$amt1 = 2.55;

$amt2 = 3.55;

$total = $amt1 + $amt2;

echo printf('%.2f',$total); // dá 6.104

echo sprintf('%.2f',$total); // dá 6.10

Porque razão me dá valores diferentes?


You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o que dá é na realidade :

6.10 <----- side effect do printf

4 <----- echo do resultado do primeiro printf

6.10 <----- echo do resultado do segundo sprintf

altera para o seguinte para perceberes:

$amt1 = 2.55;
$amt2 = 3.55;
$total = $amt1 + $amt2;

printf('%.2f',$total);
sprintf('%.2f',$total);

Editado por HappyHippyHippo
  • Voto 2

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
N3lson

Obrigado, já percebi a razão.


You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.