teebor Posted September 21, 2008 Share Posted September 21, 2008 Hi! I need help for rounding Total price. If sum is 100,20 I need it rounded 100. If sum is 100,60 I need it rounded 100,5. etc. We have only 0,50 coins in SK. I need changes in this php: <?php /* $Id: ot_round.php,v 1.7 2003/02/13 00:12:04 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License */ class ot_round { var $title, $output; function ot_round() { $this->code = 'ot_round'; $this->title = MODULE_ORDER_TOTAL_ROUND_TITLE; $this->description = MODULE_ORDER_TOTAL_ROUND_DESCRIPTION; $this->enabled = ((MODULE_ORDER_TOTAL_ROUND_STATUS == 'true') ? true : false); $this->sort_order = MODULE_ORDER_TOTAL_ROUND_SORT_ORDER; $this->output = array(); } function process() { global $order, $currencies; $temp = 1-($order->info['total']-floor($order->info['total'])); if ($temp == 1) $temp = 0; $this->output[] = array('title' => $this->title . ':', 'text' => $currencies->format($temp, true, $order->info['currency'], $order->info['currency_value']), 'value' => $temp); $order->info['total'] += $temp; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_ORDER_TOTAL_ROUND_STATUS'"); $this->_check = tep_db_num_rows($check_query); } return $this->_check; } function keys() { return array('MODULE_ORDER_TOTAL_ROUND_STATUS', 'MODULE_ORDER_TOTAL_ROUND_SORT_ORDER'); } function install() { tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Display Total', 'MODULE_ORDER_TOTAL_ROUND_STATUS', 'true', 'Do you want to display the total order value?', '6', '1','tep_cfg_select_option(array(\'true\', \'false\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_ORDER_TOTAL_ROUND_SORT_ORDER', '4', 'Sort order of display.', '6', '2', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } } ?> Many thanks Teebor Link to comment Share on other sites More sharing options...
lindsayanng Posted September 22, 2008 Share Posted September 22, 2008 you might be able to use the contribution called Charity Round up which is just a code to round the final price up to the nearest dollar.. you can strip that code down and change it around a little to get the desired value. A great place for newbies to start Road Map to oscommerce File Structure DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways! HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you Proud Memeber of the CODE BREAKERS CLUB!! Link to comment Share on other sites More sharing options...
ktshannon Posted September 22, 2008 Share Posted September 22, 2008 You can use the (int) function to remove decimals and just keep it to the whole number. so wherever you find the final price variable Add "(int)" example: (int) $final_price = $blah blah blah; Link to comment Share on other sites More sharing options...
teebor Posted September 22, 2008 Author Share Posted September 22, 2008 Thank you. Link to comment Share on other sites More sharing options...
arietis Posted September 22, 2008 Share Posted September 22, 2008 Hi! I need help for rounding Total price.If sum is 100,20 I need it rounded 100. If sum is 100,60 I need it rounded 100,5. etc. We have only 0,50 coins in SK. I need changes in this php: here's a function you can use to round up or down to the nearest 1/2: function sk_round($value) { $nWhole = (int) $value; $nDec = $value - $nWhole; $nDec *= 2; $nDec = round($nDec); $nDec /= 2; return ($nWhole + $nDec); } if you can use that in your code, you're welcome to it. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.