N3lson Posted August 3, 2013 at 06:57 AM Report #520736 Posted August 3, 2013 at 06:57 AM boas estou a desnvolver uma aplicação e numa parte terei de apresentar o saldo, mas acontece que da errado, pois no lugar de apresentar o valor (-) negativo apresenta sempre positivo. ($desp < $somatorio) ? $saldo_tmp = $somatorio - $desp: $saldo_tmp = $desp - $somatorio; no 1º caso dá 1303 mas no segundo deveria dar -1303 mas resulta sempre em positivo, e apartir desse resultado fica tudo mal You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.
N3lson Posted August 3, 2013 at 09:08 AM Author Report #520739 Posted August 3, 2013 at 09:08 AM (edited) Resolvi desta forma mas acho não ser a melhor forma, se souberem o que estou a fazer errado, agradecia if($desp <= $somatorio) { $saldo_tmp = $somatorio - $desp; } else{ $saldo_tmp = $desp - $somatorio; $saldo_tmp = -$saldo_tmp; } // Saldo Final Total if($saldo_tmp >= 0){ $saldo_final = $passivo + $saldo_tmp; } else{ $saldo_final = $saldo_tmp + $passivo; } Edited August 3, 2013 at 09:09 AM by N3lson You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.
AJBM Posted August 3, 2013 at 11:35 AM Report #520746 Posted August 3, 2013 at 11:35 AM Boas! no teu else faz $saldo_tmp=$somatorio-$dep Exmplo somatorio =10 dep= 20 saldo_tmp=-10,
N3lson Posted August 3, 2013 at 11:41 AM Author Report #520748 Posted August 3, 2013 at 11:41 AM Isso est+á bem definido, o que não percebo é a razão de ambas as condições darem o mesmo valor e uma delas na realidade tem de dar (-) You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.
AJBM Posted August 3, 2013 at 11:58 AM Report #520749 Posted August 3, 2013 at 11:58 AM Faz debug pode ser que te ajude. O valor passivo e sempre o mesmo?
Rui Carlos Posted August 3, 2013 at 01:36 PM Report #520755 Posted August 3, 2013 at 01:36 PM boas estou a desnvolver uma aplicação e numa parte terei de apresentar o saldo, mas acontece que da errado, pois no lugar de apresentar o valor (-) negativo apresenta sempre positivo. ($desp < $somatorio) ? $saldo_tmp = $somatorio - $desp: $saldo_tmp = $desp - $somatorio; no 1º caso dá 1303 mas no segundo deveria dar -1303 mas resulta sempre em positivo, e apartir desse resultado fica tudo mal Penso que estás a utilizar o operador ternário de uma forma errada... Devias ter: $saldo_tmp = ($desp < $somatorio) ? $somatorio - $desp : $desp - $somatorio; Mas penso que o problema é mesmo na fórmula que estás a usar. Se tu subtrais sempre o menor ao maior, vais ter sempre um resultado positivo (ou pelo menos não negativo). Ou seja, não devias estar a usar a estrutura condicional se também queres ter valores negativos (como AJBM já referiu, de certo modo). Acho que devias ter algo do género: $saldo_final = $passivo + $somatorio - $despesas; Neste caso, antes de fazer debug, acho que é melhor pegar no lápis e papel. Rui Carlos Gonçalves
N3lson Posted August 3, 2013 at 02:59 PM Author Report #520759 Posted August 3, 2013 at 02:59 PM Ou seja, não devias estar a usar a estrutura condicional se também queres ter valores negativos Tens razão, não tinha verificado isso, ás vezes quanto mais olhamos menos vemos :-) Obrigado You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now