使用PHP进行计算的正确方法?

时间:2014-04-25 01:41:40

标签: php

我需要计算ex_vat然后回显结果我还需要计算inc_vat回显结果。

它还需要四舍五入到小数点后两位。

基本上它不起作用,计算不会显示任何内容:

£29.17含增值税 £29.1700不含增值税

我不知道这个的正确语法,这就是我在这里问的原因,谢谢!

代码:

$req4 = $con->query("SELECT price, vat_rate FROM product WHERE product_id='$prodId'");
$row4 = $req4->fetch_row();

$price_ex_vat = $row4[0];
$vat_rate = $row4[1];
$price_inc_vat = 0;
$price_inc_vat = $price_ex_vat + ($price_inc_vat * $vat_rate / 100);

2 个答案:

答案 0 :(得分:0)

在这一行

$price_inc_vat = $price_ex_vat + ($price_inc_vat * $vat_rate / 100);

你正在调用一个尚未存在的变量“$ price_inc_vat”。 您可能希望在使用之前为该变量赋值。

$price_inc_vat = 29.17;
$price_inc_vat = $price_ex_vat + ($price_inc_vat * $vat_rate / 100);

现在将此舍入为2位小数,只需执行ff:

$price_inc_vat = 29.17;
$price_inc_vat = $price_ex_vat + ($price_inc_vat * $vat_rate / 100);
$price_inc_vat = round($price_inc_vat, 2);

答案 1 :(得分:0)

尝试在计算中使用price_ex_vat,即从数据库行中读取的价格,而不是您尝试计算$ price_inc_vat的值。

$req4 = $con->query("SELECT price, vat_rate FROM product WHERE product_id='$prodId'");
$row4 = $req4->fetch_row();

$price_ex_vat = $row4[0];
$vat_rate = $row4[1];

// if $vat_rate is 0.2
$price_inc_vat = round( $price_ex_vat + ($price_ex_vat * $vat_rate), 2 );

// if $vat_rate = 20
$price_inc_vat = round( $price_ex_vat + ($price_ex_vat * ($vat_rate/100)), 2 );