本文整理汇总了PHP中Zend_Locale_Math::Add方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Locale_Math::Add方法的具体用法?PHP Zend_Locale_Math::Add怎么用?PHP Zend_Locale_Math::Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Locale_Math
的用法示例。
在下文中一共展示了Zend_Locale_Math::Add方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: add
/**
* Iterate over the order items and calculate the gst
* for each depending on StreakGSTModule.config.currency_percentages()
*
* @param Order $order
* @param null $value
* @throws ValidationException
* @throws null
*/
public function add($order, $value = null)
{
$gst = new Price();
$gst->setCurrency(ShopConfig::current_shop_config()->BaseCurrency);
$descriptions = array();
/** @var Price|null $calculated */
$calculated = null;
/** @var Item $item */
foreach ($order->Items() as $item) {
if ($price = $item->Price()) {
$currency = $price->getCurrency();
if ($rate = self::rate_for_currency($currency)) {
if (!$calculated) {
$calculated = new Price();
}
$percentage = Zend_Locale_Math::Div($rate, 100.0, 10);
$taxed = Zend_Locale_Math::Mul($price, $percentage, 10);
$temp = Zend_Locale_Math::Add($calculated, $taxed, 10);
$calculated->setAmount($temp);
$descriptions[$currency] = static::description($currency);
}
}
}
if ($calculated) {
$mod = new StreakGST_Modification();
$mod->OrderID = $order->ID;
$mod->Price = 0;
$mod->Description = implode("<br/>\n", $descriptions);
$mod->GST = $calculated->getAmount();
$mod->Value = $calculated->getAmount();
$mod->write();
}
}
示例2: add
/**
* @param Order $order
* @param null $value
* @throws ValidationException
* @throws null
*/
public function add($order, $value = null)
{
if ($order->ShippingRegionCode) {
if ($orderRegion = Region_Shipping::get()->filter('Code', $order->ShippingRegionCode)->first()) {
$shippingCost = 0.0;
/** @var Item $item */
foreach ($order->Items() as $item) {
$productRegion = $item->Product()->Shippables()->filter('RegionID', $orderRegion->ID)->first();
if ($productRegion) {
$shippingCost = Zend_Locale_Math::Add($shippingCost, Zend_Locale_Math::Mul($productRegion->Price, $item->Quantity));
}
}
//Generate the Modification now that we have picked the correct rate
$mod = new StreakRegionalShipping_Modification();
$mod->OrderID = $order->ID;
$mod->RegionID = $orderRegion->ID;
$mod->Price = $shippingCost;
$mod->Description = "Shipping to {$orderRegion->Title}";
$mod->Value = $shippingCost;
$mod->write();
}
}
}
示例3: testAddingWithBCMathAndExponent
public function testAddingWithBCMathAndExponent()
{
if (!extension_loaded('bcmath')) {
$this->markTestSkipped('BCMath extension not loaded, test skipped');
return;
}
$this->assertEquals('1300', Zend_Locale_Math::Add('1e3', 300));
$this->assertEquals('1300', Zend_Locale_Math::Add(300, '1e3'));
}