$commerce->cart->get_total();
函数响应输出,例如<span class="amount">560 €</span>
($1,022.29),您需要将其转换为数字,以便从金额中获得费用 (25%)。
首先,这里的问题是 get_total() 函数响应一个字符串。
修复此字符串的正确方法是一个简单的示例,例如
<?php
$totalAmountString = $commerce->cart->get_total(); //<span class="amount">560 €</span>
$totalAmountString = strip_tags($totalAmountString); //get rid of the span - we're left with "560 €"
$totalAmountString = str_replace(array(" &", ","), "", $totalAmountString);
$totalAmountFloat = (float)$totalAmountString;
$percentage = 0.25;
$deposit = $totalAmountFloat * $percentage;
var_dump($deposit);
?>
我们正在删除所有的 html。当您 var_dump 的字符串长度为 41 时,我知道这就是问题所在。它在字符串中返回 span 标签和 html。您只能看到数字,因为 html 是隐藏的。该行$totalAmountString = str_replace(array(" &", ","), "", $totalAmountString);
可能需要根据所使用的货币符号进行编辑,&
是美元,但可以通过两种或三种不同的方式完成。希望这可以帮助。