Умножение в PHP

Я должен сделать расчет, вот упрощение того, чего я пытаюсь достичь:

$box['dim1'] = 1; $box['dim2'] = 1; $box['dim3'] = 1; $volume = (($box["dim1"]/100) * ($box["dim2"]/100) * ($box["dim3"]/100)); echo $volume; 

В этом случае я вижу:

 1.0E-6 

Вместо 0,000001, как и следовало ожидать.

Это довольно экстремальный пример, и dim1, dim2 и dim3 вряд ли когда-либо будут равны 1, но мне нужно, чтобы значение $ volume было числом, поскольку оно передается стороннему API, и им не нравится 1.0E-6 ,

Есть ли в любом случае, я могу получить $ volume равным 0.000001, а не 1.0E-6?

Научная нотация – это по умолчанию PHP для печати очень больших или крайне малых чисел в виде строк.

Используйте printf() для печати вашего поплавка в десятичном формате:

 printf('%f', $volume); 

Если вы просто хотите отформатировать номер, используйте number_format. Если вы предоставите второй аргумент, он пойдет во многие места.

 $box['dim1'] = 1.0; $box['dim2'] = 1.0; $box['dim3'] = 1.0; $volume = (($box["dim1"]/100.0) * ($box["dim2"]/100.0) * ($box["dim3"]/100.0)); echo number_format($volume, 6); 

[1] http://us.php.net/number_format

0.000001 – 1.0E-6, это просто переход к научным экспоненциальным показателям для отображения его (представьте, что покажите очень маленькие цифры другими способами).

Теперь вы можете использовать функцию printf () вместо этого, а затем указать отображение данных, как вы сочтете нужным.

0,000001 – 1,0E-6.

Проверь это:

http://en.wikipedia.org/wiki/Scientific_notation

При работе с значениями с плавающей запятой, если вам нужно вывести его значение, вы всегда должны форматировать значение .

В PHP вы можете использовать функцию number_format :

 echo number_format($volume, 6);