PHP:基本百分比计算

PHP:基本百分比计算,php,math,Php,Math,我有$sum,需要计算总和减去15%,然后需要再次显示原始值 $sum = 199; echo "value 1: $sum"; $sum = $sum*0.85; echo "value 2: $sum"; $foo = $sum*1.15; echo "value 3: $foo"; 这是我得到的结果: value 1: 199 value 2: 169.15 value 3: 194.5225 请告诉一个非常愚蠢的人,为什么这个公式显然是错误的,并且在最后的输出中没有返回199。

我有
$sum
,需要计算总和减去15%,然后需要再次显示原始值

$sum = 199;
echo "value 1: $sum";
$sum = $sum*0.85;
echo "value 2: $sum";
$foo = $sum*1.15; 
echo "value 3: $foo";
这是我得到的结果:

value 1: 199 
value 2: 169.15 
value 3: 194.5225

请告诉一个非常愚蠢的人,为什么这个公式显然是错误的,并且在最后的输出中没有返回199。

这是因为1/1.15不等于0.85。

百分比不是这样工作的。你不能只做与第一次操作结果相反的事情。您应该只存储原始数字并使用它。

基本上,您从
199开始,然后找到其中的85%(减去15%)是正确的。但是现在,当你试图拿回15%时,你是基于169.15的
15%
(25.3725)而不是199的
15%
(29.85)的值

正如另一个答案中所提到的,如果您需要恢复原始数字,请将其保存在变量中,并使用临时变量保存百分比。

$sum=199;
$sum = 199;
echo "value 1: $sum<br />";
$sum2 = $sum*0.85;
echo "value 2: $sum2<br />";
echo "value 3: $sum<br />";
回显“值1:$sum
”; $sum2=$sum*0.85; echo“值2:$sum2
”; 回显“值3:$sum
”;

那么,谁是天才呢?

我同意大家的看法,只保留原始变量。然而,单一变量的答案是:

1.99 * .85 = 169.15
169.15 / .85 = 1.99

更改运算符;)

那么我该如何解决这个问题呢?拜托,我毕业于乔治·w·布什数学学院,我不聪明如果你想反转这个运算,你应该除以你乘以的数字。因此,在本例中,您将执行
$foo=$sum/.85
。然而,正如@ryeguy所说的,如果你需要原始值,你最好打印原始值……按照你的建议去做。今天,我了解到,即使是数学也可能失败,因为它没有内置的内存。斯皮尼·诺曼的答案是如何(通过除法——这是乘法的倒数)返回原始数字。因此,无需存储原始编号。
1.99*.85=1.6915