terra 1 Denunciar post Postado Janeiro 25, 2013 ola, tenho uma conta e preciso tirar o sinal de menos com number_format -50% quero que fique 50% como faço? Compartilhar este post Link para o post Compartilhar em outros sites
hvjohny 1 Denunciar post Postado Janeiro 25, 2013 Use a função abs($variavel). sempre retornará valores positivos. espero ter ajudado, abraços. Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Janeiro 25, 2013 Eu pensei em expressão regular: function remove($string){ $string = preg_replace('/[-]/','',$string); return $string; } echo remove("-50%"); Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Janeiro 25, 2013 Olá, obrigado a todos. o abs funcionou. por favor vejam se essa conta esta certa: $max =$row['gostei']; $now =$row['naogostei']; $primeiro = $max - $now; if($now > $max) { $n2 = number_format(abs($primeiro / $now * 100)); } else { $n = number_format(abs($primeiro / $max * 100)); } $total = $max + $now; no teste tem 1 gostei e 3 não gostei e esta mostrando 67%. Esta correto? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
hvjohny 1 Denunciar post Postado Janeiro 25, 2013 Olá, obrigado a todos. o abs funcionou. por favor vejam se essa conta esta certa: no teste tem 1 gostei e 3 não gostei e esta mostrando 67%. Esta correto? Valeu Total de 4 votos certo? se 4 votos são 100% então: 4 - 100 3(3 votos) - x 4x = 100.3 -> 4x = 300 -> 300/4 = 75% de votos Negativos, e 25% de votos positivos. Se são realmente 4 votos no total, a conta está errada. Vou ver o seu código e já edito se achar o erro. Achei. Não sei o pq desse $primeiro, mas ele teria que receber o total de votos, ou seja $max =$row['gostei']; $now =$row['naogostei']; $primeiro = $max + $now; if($now > $max)// recebe a quantidade de votos NEGATIVOS { $n2 = number_format(abs($now * 100/$primeiro)); } else // recebe a quantidade de votos POSITIVOS { $n = number_format(abs($max*100/$primeiro)); } Provavelmente isso resolverá seu problema, um abraço. Não esqueça de marcar resolvido, se resolver claro rsrsrs Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Janeiro 25, 2013 Obrigado, mas veja> eu coloquei 98 não gostaram e 2 gostaram e esta mostrando 98% e deveria mostrar algo em torno 2%, não? o que esta errado? 3 - Negativo 1 + positivo 4x = 100.3 -> 4x = 300 -> 300/4 = 75% de votos Negativos, e 25% de votos positivos. esta mostrando 75% quando deveria mostrar 25% correto? me ajuda ai, é muito importante Consegui (acho) $max =$row['gostei']; $now =$row['naogostei']; $primeiro = $max + $now; if($now > $max)// recebe a quantidade de votos NEGATIVOS { $n2 = number_format(abs($max * 100/$primeiro)); } else // recebe a quantidade de votos POSITIVOS { $n = number_format(abs($max*100/$primeiro)); } $total = $max + $now; 6 votos 4- 2+ 67% 2- 4+ 33% ta correto né? Valeu Compartilhar este post Link para o post Compartilhar em outros sites