如何将包含€的$变量乘以一个值

时间:2014-05-23 11:07:05

标签: php wordpress woocommerce

因为我是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欧元, - 。这是人们必须支付的金额。当我们完成服务时,他们必须支付另一半,这是最后一条规则。

感谢您帮助我!

4 个答案:

答案 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: &euro; <?php echo number_format($totalPrice, 2, ',', '.'); ?></p>

答案 2 :(得分:0)

喜欢这个吗?

<?php 
    $payinfront = $product->get_price_html();
    $totalprice = $payinfront * 2;
?>

<p class="price">Total price: &euro;<?php echo $totalprice ?></p>
<p class="price">Amount to pay in front: &euro;<?php echo $payinfront ?></p>
<p class="price">Amount to pay after: &euro;<?php echo $totalprice - $payinfront ?></p>

请注意,&euro;会生成欧元符号

答案 3 :(得分:0)

首先必须删除欧元符号,以便将变量视为数字。然后你进行乘法并连接下面的html部分的欧元符号。

<?php 
    $payinfront = $product->get_price_html();
    $payinfront = str_replace("&euro;","",$payinfront);
    $totalprice = $payinfront * 2;
?>

<p class="price">Total price: <?php echo $totalprice ?>&euro;</p>
<p class="price">Amount to pay in front: <?php echo $payinfront ?>&euro;</p>
<p class="price">Amount to pay after: <?php echo $totalprice - $payinfront ?>&euro;</p>