Uzyskanie błędnego wyniku z funkcji matematycznych php

-4

Miał pokazać wynik „5.712” (właściwie 237.12, poprawny $ b3 = 750000;), ale zamiast tego pokazuje „0.118”

Pomoc potrzebna....

<?php

#This is the Excel formula "=((B4*B5-B3)/(B5/12))/B3*100"#

$b3 = 75000;
$b4 = 16070;
$b5 = 60;
$d = 1;
$e = 10;

$p = ( $b4 * $b5) - $b3  / ( $b5 / 12 ) / ( $b3 * 100 );

print ''.$p.' ';



?>
Shijil
źródło
Naprawdę nie ma nic wspólnego z Excelem. To nie są „funkcje Excela”. Są to normalne funkcje matematyczne. Domyślam się, że twoja kolejność operacji nie jest taka, jakiej się spodziewasz.
Eric F
2
Masz swoje (i )inne miejsca ...
DavidPostill
DavidPostill @ czy możesz poprawić kod?
Shijil
@DavidPostill Ach tak, nie patrzyłem na to uważnie, żeby to zobaczyć. Teraz to widzę. Shijil patrzy na twoje dwie formuły i różnice w nawiasach.
Eric F
2
@Shijil Dlaczego powinienem poprawić Twój nieprawidłowy kod? To zmienia twoje pytanie.
DavidPostill

Odpowiedzi:

1

Przyjrzyj się uważnie swoim nawiasom:

Przewyższać:

"=((B4*B5-B3)/(B5/12))/B3*100"#

PHP:

$p = ( $b4 * $b5) - $b3  / ( $b5 / 12 ) / ( $b3 * 100 );

Zmień swoją formułę na:

$p = (( $b4 * $b5 - $b3)  / ( $b5 / 12 )) / ( $b3 * 100 );

Uważaj zawsze na nawias!

wprowadź tutaj opis obrazu

Eric F
źródło
Naprawdę? Z .../B3*100stać się ... / ( $b3 * 100 )?
Tom Yan
@TomYan Powinieneś także uważniej przyjrzeć się różnicy w nawiasach: D
Eric F
Nie, myślę, że powinieneś bardziej uważnie patrzeć: D
Tom Yan
Widzę więcej niż różnicę ...
Eric F
Od kiedy X / Y * Zjest taki sam jak X / (Y * Z)?
Tom Yan