C# を使用して課金システムのアプリケーションを作成しました。
顧客がキャッシャーに支払うのを容易にするために、合計請求額を切り上げまたは切り捨てることができます。セントで終わる最後の値によって異なります。データ型を小数として計算を行います。
0.00、0.01、0.02セントで終わる場合は0.00 に切り捨てられます
例:
- 10.00、10.01、または 10.02 は 10.00 に切り捨てます
- 10.10、10.11、または 10.12 は 10.10 に切り捨てます
0.03、0.04、0.05セントで終わる場合は、0.05に切り上げます。
例:
- 10.03、10.04、または 10.05 は 10.05 に切り上げます
- 10.13、10.14、または 10.15 は 10.15 に切り上げます
末尾が 0.05、0.06、0.07 セントの場合は0.05に切り捨てられます
例:
- 10.05、10.06、または 10.07 は 10.05 に切り捨てられます
- 10.15、10.16、または 10.17 は 10.15 に切り捨てられます
末尾が 0.08 または 0.09 セントの場合** 0.10に切り上げられます
例:
- 10.08 または 10.09 は 10.10 に切り捨てられます
- 10.18 または 10.19 は 10.20 に切り捨てられます
問題は、答えが異なり、システム要件を満たしていないため、Math.Roundを使用できないことです。私の合計請求額が 10.14であるとしましょう。切り捨てられて 10.10になりますが、答えは切り上げて 10.15 になります。
誰かがこの問題を解決するのを手伝ってくれることを願っています。