回答編集履歴
5
加筆修正
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
四捨五入→round()を使わず、0.5を加えた上でfloor()
|
26
26
|
|
27
|
-
(mysql系で
|
27
|
+
(mysql系に限らず多くの処理系で、ROUND() で「偶数丸め(Banker's Rounding)」ルールが使用されるということで、厳密な四捨五入ではないことに注意。)
|
28
28
|
|
29
29
|
|
30
30
|
|
4
加筆修正
test
CHANGED
@@ -23,6 +23,8 @@
|
|
23
23
|
切り上げ→ceil()
|
24
24
|
|
25
25
|
四捨五入→round()を使わず、0.5を加えた上でfloor()
|
26
|
+
|
27
|
+
(mysql系では、ROUND() で「偶数丸め(Banker's Rounding)」ルールが使用されるということで、厳密な四捨五入ではないことに注意。)
|
26
28
|
|
27
29
|
|
28
30
|
|
3
加筆修正
test
CHANGED
@@ -18,6 +18,14 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
+
切り捨て→floor()
|
22
|
+
|
23
|
+
切り上げ→ceil()
|
24
|
+
|
25
|
+
四捨五入→round()を使わず、0.5を加えた上でfloor()
|
26
|
+
|
27
|
+
|
28
|
+
|
21
29
|
---
|
22
30
|
|
23
31
|
|
@@ -34,7 +42,7 @@
|
|
34
42
|
|
35
43
|
(税込価格+0.999)÷1.08の小数点切り捨て
|
36
44
|
|
37
|
-
`select
|
45
|
+
`select floor(tax_included_price+0.999)/1.08 from ~`
|
38
46
|
|
39
47
|
とでもなるのでしょうか。
|
40
48
|
|
2
見直し
test
CHANGED
@@ -1,3 +1,33 @@
|
|
1
|
+
消費税の計算は端数が出て当たり前で、
|
2
|
+
|
3
|
+
税込価格の半端な数字を避けるために
|
4
|
+
|
5
|
+
本体価格+1円する事例もなくもないです。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
また、財務省のホームページにこういう[記載](http://www.mof.go.jp/tax_policy/tax_reform/outline/fy2004/sougakuhyoji/a_001.htm)があります:
|
10
|
+
|
11
|
+
> 「税抜価格」に上乗せする消費税相当額に1円未満の端数が生じる場合がありますが、その端数をどのように処理 (切捨て、切上げ、四捨五入など)して「税込価格」を設定するかは、それぞれの事業者のご判断によることとなります。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
消費税の計算ルールを事業体(会社や店舗)でどうやるかを明文化してあれば、
|
16
|
+
|
17
|
+
それにしたがってアルゴリズムを組むだけです。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
以下、質問意図を間違った回答だけど
|
26
|
+
|
27
|
+
税込価格→税抜価格に変換する必要がある場合の対処法:
|
28
|
+
|
29
|
+
|
30
|
+
|
1
31
|
私が考えたアルゴリズムじゃないですが、
|
2
32
|
|
3
33
|
前任者がこんな計算式を使ってました:
|
1
加筆修正
test
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
前任者がこんな計算式を使ってました:
|
4
4
|
|
5
5
|
(税込価格+0.999)÷1.08の小数点切り捨て
|
6
|
+
|
7
|
+
`select trunc(tax_included_price+0.999)/1.08 from ~`
|
8
|
+
|
9
|
+
とでもなるのでしょうか。
|
6
10
|
|
7
11
|
|
8
12
|
|