PHP странная математика - PullRequest
       1

PHP странная математика

4 голосов
/ 15 сентября 2010

Я получаю неожиданные значения для вычисления переменных:

$var1 = $var2 * (((1 + $var3)^$var4)^$var5);

Я подтвердил, что $var2 равно 3, $var3 равно 0,1, $var4 равно 1, $var5 равно 1,1, поэтому

$var1 = 3*(((1+0.1)^1)^1.1) = 3.3316 но в PHP $var1 = 3

если я изменю $var4 на 2,

$var1 = 3*(((1+0.1)^1)^1.1) = 3.6999 но в PHP $var1 = 6

Почему это? Есть идеи? Я попытался явно объявить все переменные как float.

1 Ответ

13 голосов
/ 15 сентября 2010

Обратите внимание, что ^ не является "силой".Возможно, вы захотите взглянуть на функцию pow .

(^ на самом деле " битовый эксклюзив или ".)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...