I have this script:
function round_price_with_limits( $price = null, $multiplier = 9.3, $nearest = 10, $minus = 0.05, $map = 9.95, $msrp = 9999999999) {
// Ensure a price was provided.
if ( !empty( $price ) ) {
// Calculate price with markup and round it.
$rounded_price = ( ceil ( ( $price * $multiplier ) / $nearest ) * $nearest ) - $minus;
// If price is less than minimum, return minimum.
if($rounded_price < $map){
return $map;
}
// If price is greater than maximum, return maximum.
elseif($rounded_price > $msrp){
return $msrp;
} else {
// Return price otherwise.
return $rounded_price;
}
}
}
It works on almost all products, except for one with $price value = 1,76. The end result when running the script becommes 9.95 When I calculate by hand, the result is 19.95 Can you spot why this is calculated differently via the php?