我的计算输出有问题。我只是试图划分数字,但它没有正确出现。
假设$ 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);
答案 0 :(得分:1)
你的数学错误。
0.073529411764706 * 1360 = 100
因此,您在代码中实际拥有的是:
$money_percentage = 100 / $cost_proposed
仔细检查您的代码,看看您从哪个方面获得该等式。
编辑:根据注释,您将一个带逗号的字符串转换为整数。这在逗号处打破,因此以1结束。完美地完成数学运算。
删除逗号并转换为整数以使其工作。理想情况下,将所有数字存储为数字,只在屏幕上显示时添加逗号。
$number = (int)str_replace("," , "", $string);