回答編集履歴

5

加筆修正

2017/12/08 02:26

投稿

退会済みユーザー
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  四捨五入→round()を使わず、0.5を加えた上でfloor()
26
26
 
27
- (mysql系で、ROUND() で「偶数丸め(Banker's Rounding)」ルールが使用されるということで、厳密な四捨五入ではないことに注意。)
27
+ (mysql系に限らず多くの処理系で、ROUND() で「偶数丸め(Banker's Rounding)」ルールが使用されるということで、厳密な四捨五入ではないことに注意。)
28
28
 
29
29
 
30
30
 

4

加筆修正

2017/12/08 02:26

投稿

退会済みユーザー
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

加筆修正

2017/12/08 02:25

投稿

退会済みユーザー
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 trunc(tax_included_price+0.999)/1.08 from ~`
45
+ `select floor(tax_included_price+0.999)/1.08 from ~`
38
46
 
39
47
  とでもなるのでしょうか。
40
48
 

2

見直し

2017/12/08 02:22

投稿

退会済みユーザー
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

加筆修正

2017/12/08 02:14

投稿

退会済みユーザー
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