因为我是PHP的新手,所以我有一个非常简单的问题。谷歌搜索并在stackoverflow上搜索后,我仍然无法让它工作。
<?php
$payinfront = $product->get_price_html();
$totalprice = $payinfront * 2;
?>
<p class="price">Total price: <?php echo $totalprice ?></p>
<p class="price">Amount to pay in front: <?php echo $payinfront ?></p>
<p class="price">Amount to pay after: <?php echo $totalprice - $payinfront ?></p>
$ payinfront值确实从我模板的另一部分获得了它的价值。让我们说它是10欧元, - 。这是人们必须支付的金额。当我们完成服务时,他们必须支付另一半,这是最后一条规则。
感谢您帮助我!
答案 0 :(得分:1)
在乘法前删除货币符号:
$totalprice = substr($payinfront, 1) * 2;
答案 1 :(得分:1)
您希望将价格存储为floats,而不是字符串,以便PHP可以将它们识别为数值,并对它们进行计算。只有当你echo
将它们放入模板时,才会在最后一刻将它们转换为字符串。
<?php
$payInFront = $product->getPrice(); // should return a numeric value, instead of a string
$totalPrice = $payInFront * 2;
$payAfter = $totalPrice - $payInFront;
?>
然后,当您echo
价格时,您可能希望使用number_format()
以某种方式格式化它们:
<p>Price: € <?php echo number_format($totalPrice, 2, ',', '.'); ?></p>
答案 2 :(得分:0)
喜欢这个吗?
<?php
$payinfront = $product->get_price_html();
$totalprice = $payinfront * 2;
?>
<p class="price">Total price: €<?php echo $totalprice ?></p>
<p class="price">Amount to pay in front: €<?php echo $payinfront ?></p>
<p class="price">Amount to pay after: €<?php echo $totalprice - $payinfront ?></p>
请注意,€
会生成欧元符号
答案 3 :(得分:0)
首先必须删除欧元符号,以便将变量视为数字。然后你进行乘法并连接下面的html部分的欧元符号。
<?php
$payinfront = $product->get_price_html();
$payinfront = str_replace("€","",$payinfront);
$totalprice = $payinfront * 2;
?>
<p class="price">Total price: <?php echo $totalprice ?>€</p>
<p class="price">Amount to pay in front: <?php echo $payinfront ?>€</p>
<p class="price">Amount to pay after: <?php echo $totalprice - $payinfront ?>€</p>