DESIGN / CODE / INFRA / AI

解説

2割引のあと1割引は3割引?AIの割合計算で元になる金額を確かめよう

「20%引き、さらに10%引き」なら、合わせて30%引きなのかな。順番に割り引くときは、毎回の元になる金額を確かめよう。

2割引のあと1割引は3割引?AIの割合計算で元になる金額を確かめよう
保存リストを見る →
この記事の道しるべ 5項目

「20%引き、さらに10%引き」なら、合わせて30%引きなのかな。順番に割り引くときは、毎回の元になる金額を確かめよう。

このページでは架空の1000円を使って、続けて割合を掛ける計算を知る。実際の購入や決済は行わず、電卓だけで試せるよ。店舗の割引条件や税の扱いは、それぞれの案内を読む必要がある。

最初の割引後が、次の基準

1000円を20%引きにすると、残るのは80%なので800円。そこから10%引きなら、800円の90%で720円になる。

段階 計算 結果
元の金額 — 1000円
20%引き 1000×0.8 800円
さらに10%引き 800×0.9 720円

元の1000円から減ったのは280円で、全体では28%引き。20と10を足した30%にはならないんだ。

「さらに」の条件を読み直そう

二つ目の10%が、割引後の金額に対するものか、元の金額に対するものかで結果は変わる。クーポンの併用可否、対象商品、上限なども計算の前提になるよ。

表現が曖昧なら、AIへ推測させずに条件を確認しよう。この記事は「割引後の金額へ順に掛ける」という前提を置いた練習だよ。

AIへの頼み方

「元の金額は1000円。20%引きした残額を、さらに10%引きしてください。各段階の基準額、残額、元の金額に対する合計の割引率を示してください」と頼める。

期待するのは、800円、720円、28%という対応が見えること。答えだけをもらうより、各段階の金額を元の表と照合しやすいよ。

文字列からDecimalへ渡す例

PythonのDecimalは、十進数の計算に使える。次の例は端数の出ない練習だよ。

from decimal import Decimal
original = Decimal('1000')
after = original * Decimal('0.8') * Decimal('0.9')
rate = (1 - after / original) * 100
print(after, rate)

数値としてafterは720、rateは28になる。末尾の0の表示は計算上の表現による。実際の金額に端数が出るなら、丸めをどの段階でどう行うかも別に決めよう。

率の差の表現はパーセントポイント、端数は丸めの順序へ。

参照した公式資料

確認日:2026年10月24日。

参考・出典

公開と変更の記録
  • :初回公開

日時は日本時間です。記載のある変更は、確認できた編集記録に基づきます。更新日の違いだけから変更内容を推測して載せることはありません。

更新・訂正の方針 →

みんなのコメント 0

感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。

最初のコメントをどうぞ。