PHP没有正确划分

时间:2013-05-15 14:01:28

标签: php

我有一些PHP代码正在划分从mySQL数据库中提取的两个数字但是它没有正确计算。当我单独回显$ comm和$total_fix时,数字是正确的。但是,当我回应两者的划分时,这不是正确的答案。这两个数字都是数据库中的DECIMAL(10,0)数据类型。下面是PHP代码

$percent_comm = $comm / $total_fix;
$percent_comm = number_format($percent_comm, 2, '.', ',');                     
echo "<td align=\"center\">".$percent_comm."</td>";

此处$comm = 2700$total_fix = 75$percent_comm计算为0.03时应为36

2 个答案:

答案 0 :(得分:1)

从我在你的评论中看到的,由于格式的原因,你将$ comm变量作为带逗号的字符串。我建议将格式化的字符串转换为有效的数字。

虽然我会推荐这个:

 $comm = '2,700';
 $comm = str_replace(',','',$comm);

从您的号码中删除逗号。

答案 1 :(得分:0)

从变量名称中,您希望$comm知道$total_fix的百分比。您的代码几乎执行此操作:您正确划分$comm/$total_fix,并且它正确地为您提供0.027。但是当你手工检查时,你得到了它:36是2700/75的分割结果(即$total_fix/$comm

但要获得一个百分比,乘以除以100的结果:

(75.0 / 2700) * 100 = 2.7 percent.

那是你的代码应该得到的东西。