rfamelli 0 Denunciar post Postado Agosto 11, 2010 Olá pessoal, como é que eu faço para para que a cada R$ 20, mostre 1 ponto na tela Como trabalho com multiplos no Php? eu fiz desse jeito mas dessa forma ele nao considera que se ainda nao completou a soma de R$20 nao deve somar 1 ponto. Ele considera que tudo o que entrar ele vai tirar os 5%. $pontos = floor(($total * 5) / 100); entenderam? Agradeço desde já se alguem puder me ajudar. Muito obrigada! Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 11, 2010 'multiplos de 20' ? que tal primeiro testar se o numero é divisivel por 20 ? se o resto for zero, então ele é divisivel por 20, logo ele é multiplo de 20 if( $num%20 ) echo $num.' é multiplo de 20!'; apenas lógica de programação. Compartilhar este post Link para o post Compartilhar em outros sites
Holt 1 Denunciar post Postado Agosto 11, 2010 $valor = '125,75'; $pts = $valor / 20; // 6,2875 $pts = explode(',',$pts); echo $pts[0]; // 6 não testeiÉ uma solução, mas provavelmente não a mais correta Ali retorna o número de pontos totais, dai é só jogar em uma estrutura de loop Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Agosto 11, 2010 <?php var_dump( floor( 119 / 20 ) ); var_dump( floor( 120 / 20 ) ); Saída: float(5) float(6) Compartilhar este post Link para o post Compartilhar em outros sites
rfamelli 0 Denunciar post Postado Agosto 13, 2010 <?php var_dump( floor( 119 / 20 ) ); var_dump( floor( 120 / 20 ) ); Saída: float(5) float(6) Muito Obrigada pessoal, mas está acontecendo o seguinte. var_dump( floor( 265 / 20) * 100 ); float(1325) na verdade o correto deveria aparecer 1300 já que é a cada 20 que tem completar 100 pontos. a cada 20 ganha 1, equivale a 5%, multipliquei por 100 para parecer uma pontuação alta. Mas em todos os casos, o valor está multiplicando por 5, e não a cada 20 soma 100... Compartilhar este post Link para o post Compartilhar em outros sites
Holt 1 Denunciar post Postado Agosto 13, 2010 $val = floor(265 / 20); $val *= 100; Compartilhar este post Link para o post Compartilhar em outros sites
Ariane Stela 0 Denunciar post Postado Agosto 13, 2010 aqui a sua lógica deu "float(1300)" Compartilhar este post Link para o post Compartilhar em outros sites
rfamelli 0 Denunciar post Postado Agosto 13, 2010 Estranho no meu tava dando 1325, fiz da forma que o Holt falou e deu certo agora!! Muito obrigada pessoal!! Compartilhar este post Link para o post Compartilhar em outros sites