Почему оператор ^ (каретка) не возводит число в степень?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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