有没有可能在没有任何加价的情况下得到购物车的总价。所以没有欧元符号?现在,我通过以下方式获得金额:
$totalamount = $woocommerce->cart->get_cart_total();
这将提供16.50欧元
我也试过:
$totalamount = number_format($woocommerce->cart->get_cart_total(), 2, \'.\', \'\');
但这总是给0.00
是否有一个woocommerce get函数可以给出购物车总价的数字格式?谢谢
最合适的回答,由SO网友:Johannes Pille 整理而成
2020年更新
Answer
看见
flytech\'s answer 对于使用本机WooCommerce API的解决方案。
Note / Caveat
如果你要对货币价值进行适当的计算,
always use signed integers (!) representing the smallest denomination of a given currency (美分、便士、佩萨、迪拉姆等)
只有在所有计算完成后,才能在应用程序的表示层中转换回小数。
无论语言或框架如何,这都是正确的。
最初的答案是,我根本不懂woocommerce,因此也可能有一种本土的方式,但无论如何,这
$amount = floatval( preg_replace( \'#[^\\d.]#\', \'\', $woocommerce->cart->get_cart_total() ) );
应该这样做。
这个preg_replace
消除除十进制字符和冒号以外的所有字符。
如果你想用它做数学题floatval
将值从字符串转换为数字。