PHP中的乘法

时间:2011-02-21 18:23:58

标签: 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.0 E-6。

无论如何,我可以将$ volume等于0.000001而不是1.0E-6?

5 个答案:

答案 0 :(得分:4)

科学记数法是PHP默认用于将极大或极小的数字打印为字符串。

使用printf()以十进制格式打印浮动:

printf('%f', $volume);

答案 1 :(得分:1)

如果您只想格式化数字,请使用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

答案 2 :(得分:0)

0.000001是1.0E-6,只是它正在将它转移到科学的expnential来显示它(想象其他方式经常显示非常小的数字)。

现在,您可以使用printf()函数,然后指定您认为合适的数据显示。

答案 3 :(得分:0)

0.000001是1.0E-6。

检查出来:

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

答案 4 :(得分:0)

使用浮点值时,如果需要输出它的值,则应always format the value

在PHP中,您可以使用number_format函数:

echo number_format($volume, 6);