본문 바로가기

WEB BANK-END/JAVA

자바 세전 세후 가격

세전가격 = 소비자가 / (1 + 세율(3,4,5 등) / 100.0)

세금 = 세후가격 * 세율 / 100.0

세후가격 = 세전가격 + 세금

 

>> 세전가격과 세금은 반비례 관계여서 하나를 올림처리하면 다른 하나는 알아서 내림처리한다. 

>>그래서 세전가격을 구할 때 int형 정수형 계산으로 버림처리를 했지만, 사실 우리나라는 소비자가로 통용되어 계산이 불명확해진다. 

>>이를 극복하기 위해서 세금을 따로 올림처리 내림처리를 해줘야 한다. 

 

예시)

      if ((double) (k34_TaxContainTotal / (1 + k34_taxrate / 100.0)) == (int) (k34_TaxContainTotal  //세전 가격이 내림처리를 해줘야 하는 값일 때
            / (1 + k34_taxrate / 100.0))) {
         k34_taxval = ((int) (k34_TaxContainTotal / (1 + k34_taxrate / 100.0))) * k34_taxrate / 100; // 세금은 올림처리 하지 않는다. 
      } else {  // 세전 가격이 내림처리를 안해도 되는 값일 때
         k34_taxval = ((int) (k34_TaxContainTotal / (1 + k34_taxrate / 100.0))) * k34_taxrate / 100 + 1; // 세금은 올림처리한다. 
      }