我有两个变量:$ vatRate和$ priceExVat。我想创建另一个名为$ endPrice的变量,它添加增值税。我不知道如何做到这一点,并且是PHP的初学者所以我想有一个代码示例;)
$priceExVat == $_POST['priceExVat'];
$vatRate = $_POST['vatRate'];
rtrim($vatRate ,'%');
$endPrice = ($vatRate * $priceExVat) + $priceExVat;
echo $endPrice;
编辑:上面是返回0
的非工作代码答案 0 :(得分:6)
完全分解:
<?php
$vatRate = 20; // This must be the percentage VAT rate. e.g.: 20, 17.5.
$priceExVat = 10;
$vatComponent = ($priceExVat / 100) * $vatRate;
$endPrice = $priceExVat + $vatComponent;
echo 'The resultant price is £' . number_format($endPrice, 2);
?>
顺便提一下,您可能会在以后要求增值税部分,因此如果您以任何非平凡的方式使用增值税部分,您应该真正存储基础(即:增值税前)价格,然后应用增值税率和为了产出的目的,相应地进行轮换。
此外,您可能还希望允许多种增值税税率,因为并非所有商品都在英国征收20%的税。 (有些是免税的,有些是按“减少的”5%的税率征税等)。
答案 1 :(得分:4)
$endPrice = ($vatRate * $priceExVat) + $priceExVat;
或
$endPrice = (1+$vatRate * $priceExVat);
实施例
$vatRate = 0.07;
$priceExVat = 100.00;
获得-3
如果值为字符串 20%
,则所有答案都会出错$endPrice = ((int)$vatRate/100)*$priceExVat)+$priceExVat;
答案 2 :(得分:2)
这是应该做的:
function vat($ex_vat,$vat = 20.0)
{
return round($ex_vat+ ((double)$vat*($ex_vat/100)),2);
}
示例:
$withVat = vat(80,20); //£0.80 > £0.96
答案 3 :(得分:1)
假设$ vatRate指定为百分比。
$endPrice = $priceExVat * $vatRate/100
答案 4 :(得分:-1)
$vatRate = "20%";
$priceExVat = 100;
$endPrice = (intval($vatRate) / 100) * $priceExVat + $priceExVat;