用PHP计算百分比

时间:2014-09-25 07:22:44

标签: php percentage

如果有一个小问题,我想。

我在某个问题上成功使用了此答案中的代码:Get DIV content from external Website

效果很好。我的输出例如是9,1。 现在我想把这个百分比,所以应该是91%。

$second_step[0]给出9,1。

我使用以下代码将其设为百分比:

$score = $second_step[0] * 10;

...但这会输出90而不是91。

我做错了什么?它看起来像一个简单的代码,但我不确定它为什么输出90而不是91。

希望有人能帮助我。

抱歉我的英语不好:)

4 个答案:

答案 0 :(得分:2)

试试这个

$val = floatval(str_replace(',', '', $second_step[0]));

答案 1 :(得分:1)

可能与数字格式有关。您的示例显示9 [逗号] 1,PHP将其视为字符串,并在计算时返回脚本遇到的第一个数字部分(仅为9)。如果要进行数学运算,则需要将其转换为数字(读取9 [期间] 1)。

$score = floatval(str_replace(',', '.', $second_step[0])) * 10;

答案 2 :(得分:0)

你得到90,因为它认为10是一个int。 因此,您的输出将转换为int。

试试这个: $ score = $ second_step [0] * 10.0; PHP将10视为int,但将10.0视为浮点数。 您也可以通过这样做将10投射到浮点数: $ score = $ second_step [0] * floatval(10);

这两种方法都有效,但第一种方法是最好的。

答案 3 :(得分:0)

您的$second_step被视为整数,请参阅http://php.net/manual/de/language.types.string.php#language.types.string.conversion,除非您使用setlocale()明确更改脚本的区域设置。

如果逗号需要留在那里并且您没有更改区域设置,则可以执行$temp = str_replace("," , "." , $setlocale[1]);