Rounding problem in php
I addressed this problem as a ticket but didn't get it solved there. The Webassist supporter didn't give any more answers nor informed me if he's working on it.
Our shop runs in swiss francs, means I have to round the cents in 0.05 steps. The round problem appears when a discount for wine is applied. I have the solution in ASP but need help to change it to php:
The discount (WeineMengenrabatt) for wines (PRODKATID=7) is 3% for orders of more than 24 up to 47 bottles:
<%
function WAEC_WeineMengenrabatt()
totalDiscount = 0
if ((WA_eCart_ConditionalTotal(Ullrich_eCart, "Quantity", "PRODKATID", "7") >= 24) AND (WA_eCart_ConditionalTotal(Ullrich_eCart, "Quantity", "PRODKATID", "7") <= 47)) then
totalDiscount = totalDiscount + (Round((WA_eCart_ConditionalTotal(Ullrich_eCart, "TotalPrice", "PRODKATID", "7") * cDbl(0.03))* 20))/20'Result
end if
WAEC_WeineMengenrabatt = WA_eCart_FormatNumber(totalDiscount, Ullrich_eCart.ForceDecimalsC, Ullrich_eCart.DecimalPlacesC)
end function
%>
The current php code is:
function WAEC_eCartUllrich_Weinrabatt3() {
$totalDiscount = 0;
if (true && (($this->ConditionalTotal("Quantity", "PRODKATID", "7") >= 24) && ($this->ConditionalTotal("Quantity", "PRODKATID", "7") <= 47))) {
$totalDiscount += ($this->ConditionalTotal("TotalPrice", "PRODKATID", "7") * 0.03);//Result
}
return WA_eCart_FormatNumber($totalDiscount, $this->ForceDecimalsC, $this->DecimalPlacesC);
}
The code for showing up the discount is in ASP
<%= FormatNumber(WAEC_WeineMengenrabatt(), 2, -2, -2, -2) %>
The current php code is:
<?php echo WA_eCart_DisplayMoney($eCartUllrich, $eCartUllrich->RuleLooperValue("Discounts")); ?>