Почему оператор ^ (каретка) не возводит число в степень?Php

Кемеровские программисты php общаются здесь
Anonymous
Почему оператор ^ (каретка) не возводит число в степень?

Сообщение Anonymous »

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

Код: Выделить всё

$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

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

Подробнее здесь: https://stackoverflow.com/questions/371 ... to-a-power

Вернуться в «Php»