OSDN Git Service

0c99456003daf323d68da431b22ca9b00f16cb05
[hayashilib/hayashi.git] / src / jp / co / areaweb / tools / core / Tax.java
1 /*\r
2  * Created on 2005/06/09\r
3  *\r
4  */\r
5 package jp.co.areaweb.tools.core;\r
6 \r
7 /**\r
8  * @author y_hayashi\r
9  *\r
10  *      消費税に関するメソッドを集めたクラス\r
11  *      端数は四捨五入する\r
12  */\r
13 public abstract class Tax {\r
14         public static int taxRates = 5; // 消費税率。パーセンテージで示す。\r
15                                                                                 // 税率が変更されたときにはこの値を直接変更する。\r
16         /**\r
17          * 総額に対する本体の金額を求める。\r
18          * @param totalValue    long\r
19          * @return 結果\r
20          */\r
21         public static long calcBody(long totalValue) {\r
22                 return Math.round((new Long(totalValue)).doubleValue() * 100 / (100 + taxRates));\r
23         }\r
24 \r
25         /**\r
26          * 総額に対する消費税額を求める。\r
27          * @param totalValue    long\r
28          * @return 結果\r
29          */\r
30         public static long calcTax(long totalValue) {\r
31                 return totalValue - calcBody(totalValue) ;\r
32         }\r
33 \r
34 \r
35         /**\r
36          * 本体価格に対する消費税額を求める。\r
37          * @param bodyValue     long\r
38          * @return 結果\r
39          */\r
40         public static long toTax(long bodyValue) {\r
41                 return Math.round((new Long(bodyValue)).doubleValue() * taxRates / 100);\r
42         }\r
43 \r
44         /**\r
45          * 本体価格に対する総額を求める。\r
46          * @param bodyValue     long\r
47          * @return 結果\r
48          */\r
49         public static long toTotal(long bodyValue) {\r
50                 return bodyValue + toTax(bodyValue);\r
51         }\r
52 }\r