计算税收总额再次设置php变量

时间:2016-03-01 17:41:28

标签: php

我正在尝试在php中自动计算税款。这就是我到目前为止所做的:

background

我有一个显示“3116.88”的小计的输出是正确的,但显示该金额的税是“.32”,总计是“3.23”。谁能告诉我哪里出错?

2 个答案:

答案 0 :(得分:1)

是的,明白了!

$invoice_subtotal = isset($invoice['invoice_subtotal']) ? invoiceNumFormat( $invoice['invoice_subtotal'] ): 0;

问题出在上面一行。

这里发生的是,你在设置小计值时使用了函数invoiceNumFormat,当你传递3116.88然后它返回3,116.88这不是一个整数。

所以将行改为

$invoice_subtotal = isset($invoice['invoice_subtotal']) ? $invoice['invoice_subtotal'] : 0;

答案 1 :(得分:1)

首先格式化数字,然后计算$tax_amount$invoice_totalled。但通过这种方式,您可以对字符串值执行操作,因此您可以获得不需要的值。

您必须使用浮点值执行所有数学运算,并仅在输出处格式化变量。

$invoice_subtotal = $invoice['invoice_subtotal'];
$tax_amount       = $invoice_subtotal * $tax_rate / 100;
$invoice_totalled = $invoice_subtotal + $tax_amount;

echo '<span>'.invoiceNumFormat( $invoice_subtotal ).'</span>
<span>'.invoiceNumFormat( $tax_amount ).'</span>
<span>'.invoiceNumFormat( $invoice_totalled ).'</span>
';