見出し画像

[.NET][消費税] 税込価格から本体価格を逆算する式(四捨五入/切り捨て/切り上げ)

税込価格から本体価格を算出する方法は、消費税の端数処理方式によって異なります。
たとえば税率8%で税込価格が110円の場合、切り上げ方式で端数処理した消費税なら本体価格は101円ですが、切り捨て方式で端数処理した消費税なら本体価格は102円です。

以下、端数処理方式別の算出式です。
※rate には、0.05m, 0.08m, 0.10m などの消費税率(正の値)が入ります。

四捨五入方式で端数処理した税込価格 → 本体価格

C#

Math.Ceiling((priceWithTax - 0.5m) / (1m + rate))

VB.NET

Math.Ceiling((priceWithTax - 0.5D) / (1D + rate))

切り捨て方式で端数処理した税込価格 → 本体価格

C#

Math.Ceiling(Math.Abs(priceWithTax) / (1m + rate)) * (priceWithTax >= 0 ? 1 : -1)

VB.NET

Math.Ceiling(Math.Abs(priceWithTax) / (1D + rate)) * If(priceWithTax >= 0, 1, -1)

切り上げ方式で端数処理した税込価格 → 本体価格

C#

Math.Truncate(priceWithTax / (1m + rate))

VB.NET

Math.Truncate(priceWithTax / (1D + rate))

この記事が気に入ったらサポートをしてみませんか?