-1

我对计算的输出有疑问。我只是想除以数字,但结果不正确。

假设 $some_value = 1160.00,$another_value = 1360。

<?php
$money_earned = $some_value;
$cost_proposed = $another_value;                               
$money_percentage = (($money_earned / $cost_proposed) * 100);
?>

返回值为:0.073529411764706

但实际值应该是:85.29411764705882

为什么这给了我不正确的输出值?

编辑:这是我的真实代码:

$money_earned = calculate_cost($_GET['track']);
$cost_proposed = $res[0]['cost_proposed'];
$money_percentage = (($money_earned / $cost_proposed) * 100);
4

1 回答 1

1

你在某个地方的数学有错误。

0.073529411764706 * 1360 = 100

因此,您在代码中实际拥有的是:

$money_percentage = 100 / $cost_proposed

仔细检查你的代码,看看你从哪里得到这个等式。

编辑:根据评论,您正在将带有逗号的字符串转换为整数。这在逗号处中断,因此您以 1 结尾。完全适合数学。

去掉逗号并转换为整数以使其工作。理想情况下,将所有数字存储为数字,仅在屏幕上显示时添加逗号。

$number = (int)str_replace("," , "", $string);
于 2012-10-15T06:26:10.477 回答