数値の切り捨て
切り捨てでは精度がゼロに近づき、切り上げやタイのルールは適用されません。
切り捨て(ゼロ方向)とは?
切り捨て(ゼロ方向)は、指定された位置より後の数値を丸めずに削除します。小数の場合、ゼロ方向への切り捨ては、数値をゼロに近づけながら不要な小数の桁を削除します。
切り捨て(ゼロ方向)の仕組み
切り捨てを適用するには、簡単で厳密なルールに従う必要があります。
元の数値から始める
たとえば、数値 45.6789 を取り上げます。
保持する位置を選択する
保持する小数点以下の桁数を決定します(例:小数点以下2桁)。
その位置までの数値を保持する
切り捨て位置までの数値を特定します(45.67)。
それ以降のすべての桁を削除する
それ以外をすべて破棄します(89)。保持された数値を変更せず、結果は 45.67 になります。四捨五入は行われません。
整数に切り捨てる方法
整数への切り捨ては、値の小数部分全体を単に削除し、整数のみを残します。
- 2.99 → 2
- 2.01 → 2
- −2.99 → −2
- −2.01 → −2
負の数の場合、切り捨ては小数を削除するため、結果はゼロに近づきます。これは数学の床関数とは決定的に異なります。
切り捨て(ゼロ方向)の −2.99 = −2
小数点以下の桁数に切り捨てる方法
数値を特定の小数点以下の桁数に切り捨てるには、小数点の後にその数だけ桁を保持し、残りを削除するだけです。
12.9876 の例:
- 小数点以下1桁: 12.9876 → 12.9
- 小数点以下2桁: 12.9876 → 12.98
- 小数点以下3桁: 12.9876 → 12.987
- 小数点以下4桁: 12.9876 → 12.9876
−12.9876 の例(符号は変わりません):
- 小数点以下1桁: −12.9876 → −12.9
- 小数点以下2桁: −12.9876 → −12.98
- 小数点以下3桁: −12.9876 → −12.987
切り捨ては負の数をどう処理しますか?
ゼロ方向への切り捨ては、負の数を厳密にゼロに近づけます。
負の符号は変わらず小数部分が単純に削除されるため、結果の値は元の値より技術的に大きくなります(例:−3は−3.9よりも大きい)。
- −3.9 → −3
- −3.5 → −3
- −3.1 → −3
- −3.99 を小数点以下1桁に → −3.9
- −3.99 を小数点以下2桁に → −3.99
| 方法 | 入力: −3.9 | 結果 |
|---|---|---|
| 切り捨て | −3.9 | −3 |
| 床関数 | −3.9 | −4 |
| 天井関数 | −3.9 | −3 |
これは重要な違いです。切り捨ては負の値に対しては天井関数と同じように振る舞い、正の値に対しては床関数と同じように振る舞います。
切り捨ては正の数をどう処理しますか?
正の数の場合、小数の桁は単に取り除かれるため、数はゼロ方向(数直線上で下向き)に移動します。
- 3.9 → 3
- 3.99 → 3
- 15.678 → 15.67
- 123.4567 → 123.45
数がすでに整数の場合はどうなりますか?
数がすでに整数である場合、削除する小数の桁がないため、切り捨てても完全に変わりません。
- 5 → 5
- 0 → 0
- −5 → −5
- 100 → 100
ゼロの切り捨てとは?
ゼロまたはゼロの任意のバリエーションを切り捨てると、単にゼロになります。
- 0 → 0
- 0.0 → 0
- −0.5 → 0(整数へのゼロ方向の切り捨ての場合)
分数の切り捨て
切り捨ては、分数を小数形式で評価した後に適用することもできます。
例 1: 7 / 3 = 2.333...
小数点以下2桁に切り捨て: 2.33
例 2: 11 / 4 = 2.75
小数点以下1桁に切り捨て: 2.7
例 3: −7 / 3 = −2.333...
小数点以下2桁にゼロ方向に切り捨て: −2.33
切り捨ての例
| 入力 | 目標 | 切り捨て後の結果 | 説明 |
|---|---|---|---|
| 2.99 | 整数 | 2 | 小数部分を削除する |
| −2.99 | 整数 | −2 | ゼロ方向に移動する |
| 45.6789 | 小数点以下2桁 | 45.67 | 小数第2位より後を削除する |
| 12.9876 | 小数点以下1桁 | 12.9 | 小数第1位より後を削除する |
| −12.9876 | 小数点以下2桁 | −12.98 | 小数第2位より後を削除する |
| 7.999 | 小数点以下2桁 | 7.99 | 四捨五入は行われません |
切り捨ての数式
特定の小数点以下の桁数 (n) にゼロ方向に切り捨てる数学の概念には、数をスケーリングし、小数を破棄して、スケーリングを戻すというプロセスが含まれます。
この仕組みは以下の通りです:
- 10ⁿを掛けて、目標とする小数点以下の桁を整数の位置に移動します。
- ゼロ方向に切り捨て、残った小数の部分を破棄します。
- 10ⁿで割り、元の小数点の位置に戻します。
正の例
12.987 を小数点以下2桁に切り捨て:
- 12.987 × 100 = 1298.7
- trunc(1298.7) = 1298
- 1298 / 100 = 12.98
負の例
−12.987 を小数点以下2桁に切り捨て:
- −12.987 × 100 = −1298.7
- trunc(−1298.7) = −1298
- −1298 / 100 = −12.98
切り捨ての関数
数学的には、実数 x のゼロ方向への切り捨ては、床関数と天井関数を使用して区分的に定義できます。
trunc(x) = ceiling(x) (x < 0 の場合)
または、符号関数 (sgn または sign) と絶対値 (|x|) を使用して定義することもできます:
どちらの数式も、正と負の両方の値に対して「ゼロ方向に移動する」というルールを数学的に強制します。
切り捨て vs 丸め(四捨五入)
切り捨てと丸め(四捨五入)は根本的に異なる操作です。切り捨ては単に破棄する桁を完全に無視します。丸めは、破棄される桁を使用して、保持する桁を増やすべきかどうかを決定します。
例 1: 2.987
- 小数点以下2桁に切り捨て: 2.98
- 小数点以下2桁に丸め: 2.99
例 2: 2.983
- 小数点以下2桁に切り捨て: 2.98
- 小数点以下2桁に丸め: 2.98
例 3: −2.987
- ゼロ方向に切り捨て: −2.98
- 最も近い100分の1に丸め: −2.99
切り捨ては近似値の丸めの一種であることを意味するものではありません。別の切り捨てメカニズムです。
切り捨て vs 床関数
切り捨ては値をゼロ方向に移動します。床関数は値を負の無限大方向に移動します。
正の数の場合、それらは同じように機能します。負の数の場合、反対方向に移動します。このため、負の数での違いが非常に明確になります。
| 入力 | 切り捨て(ゼロ方向) | 床関数(−∞方向) |
|---|---|---|
| 2.7 | 2 | 2 |
| 2.1 | 2 | 2 |
| −2.1 | −2 | −3 |
| −2.7 | −2 | −3 |
| −5.9 | −5 | −6 |
切り捨て vs 天井関数
切り捨てはゼロ方向に移動します。天井関数は正の無限大方向に移動します。
負の値の場合、負の小数から正の無限大方向に移動するとゼロに向かうため、切り捨てと天井関数は多くの場合同じ整数の結果になります。正の数の場合は異なります。
| 入力 | 切り捨て | 天井関数 |
|---|---|---|
| 2.7 | 2 | 3 |
| −2.7 | −2 | −2 |
| −2.1 | −2 | −2 |
切り捨ては切り下げと同じですか?
いいえ。ゼロ方向への切り捨てと数学的な床関数による丸め(しばしば「切り下げ」と非公式に呼ばれます)は、負の数に対しては異なる操作です。
−2.7 の値で考えてみます:
- 切り捨て → −2
- 床関数(切り下げ) → −3
「切り下げ」という用語は曖昧な場合があるため、負の無限大方向に厳密に移動する(床関数)のか、ゼロ方向に桁を取り除く(切り捨て)のかを常に明確にしてください。
切り捨て vs 四捨五入(端数切り上げ)
四捨五入(Round Half Up)は、次の桁を考慮して、保持する値を変更するかどうかを決定し、正確な同点の場合はゼロから遠ざけます。
2.65 を小数点以下1桁にする場合:
- 切り捨て → 2.6
- 四捨五入 → 2.7
−2.65 を小数点以下1桁にする場合:
- 切り捨て → −2.6
- 四捨五入 → −2.7
切り捨て vs 銀行家の丸め(偶数丸め)
銀行家の丸めは、正確な中間のケースに対して特別な処理を行う近似値ルールです。切り捨ては、同点決勝のルールなしに単純に桁を削除します。
2.65 を小数点以下1桁にする場合(正確な中間、偶数の桁を保持):
- 切り捨て → 2.6
- 銀行家の丸め → 2.6
2.75 を小数点以下1桁にする場合(正確な中間、奇数の桁を保持):
- 切り捨て → 2.7
- 銀行家の丸め → 2.8
数直線上の切り捨て
視覚的には、切り捨ては常に整数でない値を数直線上のゼロの方向に内側に引き寄せます。
- 正の値(2.8 → 2)の場合、値を左(ゼロ方向)に引き寄せます。
- 負の値(−2.8 → −2)の場合、値を右(ゼロ方向)に引き寄せます。
これを、符号に関係なく常に左に移動する(−2.8 → −3)床関数と比較してみてください。
切り捨てはいつ使用すべきですか?
切り捨ては非常に特殊であり、計算の要件に応じて使用する必要があります。次の場合に切り捨てを使用します:
- 丸めを行わずに固定数の小数点以下の桁を表示する場合。
- 余分な精度を完全に取り除く場合。
- 指定されたカットオフが意図的である測定データを処理する場合。
- 特定のプログラミングおよびデータ処理タスクを実行する場合。
- 表示される値を増やすことが望ましくない、制御された数値表示を実装する場合。
切り捨ては常に良いか悪いかというわけではありません。標準の丸めと比較して、異なる分析ニーズに対応するだけです。
切り捨ての実世界の用途
切り捨てが好まれる具体的な例には以下が含まれます:
- 財務表示: 実際の計算には特定の丸めルールが必要になることがよくありますが、一部の特定の財務表示では、水増しされた残高が表示されるのを防ぐために、部分的なセントを明示的に切り捨てることが求められます。
- 測定データとセンサー値: スペースを節約するために、保存前にセンサーノイズから過剰な精度を削除します。
- デジタル表示: 99.9% 完了を示す進行状況バーは、100% が早まって表示されるのを防ぐために、多くの場合 99% に切り捨てられます。
- データレポート: 統計とデータの前処理では、人口統計データを安全にバケット化するために切り捨てが使用されることがよくあります。
- 科学計算: 厳密なプロトコルによって固定カットオフが要求される環境。
プログラミングにおける切り捨て
プログラミング言語には、値を切り捨てることを特に意図したさまざまな関数が用意されています。
Python における切り捨て
数値をゼロ方向に切り捨てるには、math モジュールの math.trunc() 関数を使用します。math.floor() と混同しないでください。
math.trunc(2.99) // 2 を返す
math.trunc(-2.99) // -2 を返す
JavaScript における切り捨て
Math.trunc() 関数を使用すると、数値の小数の桁をゼロ方向へ簡単に削除できます。
Math.trunc(-2.99) // -2 を返す
Java における切り捨て
Java では、浮動小数点数を整数に明示的にキャストすると、数学的な切り捨てが実行されます。
(int) -2.99 // -2 を返す
C# における切り捨て
ゼロ方向への小数部分を削除する Math.Truncate() を使用します。
Math.Truncate(-2.99) // -2 を返す
Excel における切り捨て
TRUNC(数値, 桁数) 関数を使用します。デフォルトでは整数に切り捨てられますが、小数点以下の桁数を簡単に指定できます。
TRUNC(-2.987, 2) // -2.98 を返す
TRUNC(2.987) // 2 を返す
SQL における切り捨て
データベースシステムによって使用する関数は異なります。PostgreSQL と Oracle にはネイティブの TRUNC() 関数がありますが、SQL Server では多くの場合、丸めの代わりに切り捨てを強制するために ROUND(値, 桁数, 1) に依存します。
切り捨てに関するよくある間違い
- 切り捨てを最も近い丸めだと思い込む: 訂正 — 切り捨ては破棄された桁を完全に無視し、切り上げることはありません。
- 切り捨ては常に下方向に移動すると思い込む: 訂正 — それはゼロ方向に移動します。負の数の場合、これは値が技術的に上方向に移動することを意味します(例:−3.9 は −3 になります)。
- 切り捨てと床関数を混同する: 訂正 — 床関数は負の無限大方向に移動します。切り捨てはゼロ方向に移動します。
- 切り捨てと天井関数を混同する: 訂正 — 天井関数は正の無限大方向に移動します。切り捨てはゼロ方向に移動します。
- 負の数がゼロ方向に移動することを忘れる: 訂正 — −2.9 の切り捨ては −2 であり、−3 ではありません。
- 近似値の丸めが必要な場合に切り捨てを使用する: 訂正 — 値を近似するために切り捨てを使用しないでください。ハードカットオフが望まれる場合にのみ使用してください。
- 破棄された桁が保持された桁に影響を与えると仮定する: 訂正 — 切り捨てでは、削除された内容に基づいて保持された桁を調整することは絶対にありません。
- 小数の表示フォーマットと数学的な切り捨てを混同する: 訂正 — 小数を非表示にする UI コンポーネントは、バックグラウンドで丸めを適用する場合があります。表示レイヤーを確認してください。
- 必要なルールを確認せずに財務計算で切り捨てを使用する: 訂正 — 財務数学では、価値を損なうことを避けるために標準化された丸めルールが義務付けられていることがよくあります。
切り捨て クイックリファレンス
ゼロ方向への切り捨ては、残りの値を丸めずに小数部分を削除します。
| 入力 | 整数への切り捨て |
|---|---|
| 2.9 | 2 |
| 2.1 | 2 |
| −2.9 | −2 |
| −2.1 | −2 |
| 5 | 5 |
| −5 | −5 |
切り捨ての練習問題
これらの例で知識をテストしてください。クリックすると切り捨てられた回答が表示されます。