Ignore:
Timestamp:
2014/05/29 22:48:10 (7 years ago)
Author:
shutta
Message:

#2562 課税規則による端数処理ルーチンの共通関数化
課税規則に応じた端数処理ルーチンを共通関数にまとめた。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev/data/class/helper/SC_Helper_TaxRule.php

    r23415 r23463  
    105105        $real_tax = $tax / 100; 
    106106        $ret = $price * $real_tax; 
    107         switch ($calc_rule) { 
    108             // 四捨五入 
    109             case 1: 
    110                 $ret = round($ret); 
    111                 break; 
    112             // 切り捨て 
    113             case 2: 
    114                 $ret = floor($ret); 
    115                 break; 
    116             // 切り上げ 
    117             case 3: 
    118                 $ret = ceil($ret); 
    119                 break; 
    120             // デフォルト:切り上げ 
    121             default: 
    122                 $ret = ceil($ret); 
    123                 break; 
    124         } 
     107        $ret = SC_Helper_TaxRule_Ex::roundByCalcRule($ret, $calc_rule); 
    125108 
    126109        return $ret + $tax_adjust; 
     
    388371        $objQuery->update('dtb_tax_rule', $sqlval, $where, array($tax_rule_id)); 
    389372    } 
     373 
     374    /** 
     375     * 課税規則に応じて端数処理を行う 
     376     * 
     377     * @param float|integer $value 端数処理を行う数値 
     378     * @param integer $calc_rule 課税規則 
     379     * @return integer 端数処理後の数値 
     380     */ 
     381    public static function roundByCalcRule($value, $calc_rule) 
     382    { 
     383        switch ($calc_rule) { 
     384            // 四捨五入 
     385            case 1: 
     386                $ret = round($value); 
     387                break; 
     388            // 切り捨て 
     389            case 2: 
     390                $ret = floor($value); 
     391                break; 
     392            // 切り上げ 
     393            case 3: 
     394                $ret = ceil($value); 
     395                break; 
     396            // デフォルト:切り上げ 
     397            default: 
     398                $ret = ceil($value); 
     399                break; 
     400        } 
     401 
     402        return $ret; 
     403    } 
    390404} 
Note: See TracChangeset for help on using the changeset viewer.