如何使用PHP计算PHP中增值税百分比的总和

时间:2014-11-05 20:29:05

标签: php percentage

我尝试使用以下值进行计算:

  • 产品成本(不含增值税)= 12,40($ product)
  • 增值税百分比= 21%,我将在数据库中存储为0,21($ vat_perc)
  • 增值税为2,604($增值税)

编辑:增值税是按产品

当我尝试获得总数时,我得到15,00(总计)

我所做的是以下内容:

$total = $product + $vat 

这将回显15.004

然后我使用number_format:

echo(number_format($total,2,',','.'));

这将打印15.00

但是我想把产品乘以2

这将给出以下计算:

$total = $product * 2 + $vat 

然后我再次使用格式:

echo(number_format($total,2,',','.'));

然后总数= 30,01

我尝试了一些像ROUND en INT这样的东西,但没有成功。

我在这做错了什么?知道增值税在这里是邪恶的,但我不知道如何解决这个问题。

3 个答案:

答案 0 :(得分:1)

$tax = round( ($price / 100) * 3.8, 2); 税收是四舍五入的价格除以100,以明确百分比。乘以所需的堆栈 然后你在价格表中添加或从你的价格表中添加。

很高兴让你通电话 - 也许我们可以通过电话更快地解决这个问题。感谢上帝的电话!

干杯队友!

答案 1 :(得分:0)

您的初始总数为15.004,因此当您致电number_format时,将其缩小至15.00。现在当你乘以2时,你的总数为15.008 number_format将最高为15.01。问题不在于加法乘以2. number_format轮到最近的位置,对于你的情况是30.01。

如果您希望数字一直向下舍入使用floor,请执行以下操作:

$total = floor(($product * 200)) / 100 + $vat;
echo(number_format($total,2,',','.'));

答案 2 :(得分:0)

以下是一些使用PHP函数舍入数字的示例。

$product = 12.40;
$vat = 2.644;
$total = ( $product + $vat ) * 2;

var_dump( $total );  // float(30.088)
var_dump( number_format($total,2,',','.') );  // string(5) "30,09", rounded 
var_dump( round( $total, 2 ) );  // float(30.09), rounded
var_dump( sprintf('%0.2f', $total ) );  // string(5) "30.09", rounded
var_dump( floor( $total * 100 ) / 100 );  //  float(30.08), not rounded

所有三个功能(number_formatroundsprintf)将对结果进行舍入,以避免舍入并丢弃小数部分后两位小数,您可以使用最后一个示例。