JavaScript/Math/trunc
表示
< JavaScript | Math
Math.trunc(x) は、引数 x の小数部分を切り捨てて整数部分を返します。これは、x の符号を維持したまま、小数点以下を削除する操作です[1]。
- 引数
xがNaNの場合、NaNを返します。 - 引数
xが+0または-0の場合、xをそのまま返します。 - 引数
xがInfinityまたは-Infinityの場合、xをそのまま返します。
例
[編集]数値の整数部分を取得するプログラム
[編集]以下のプログラムは、ユーザーが入力した数値の整数部分を取得します。
const f = p => { for (;;) { a = prompt(`${p}は何ですか?`); if (!isNaN(a)) return a; alert(`${p}に、入力ミスがあります。 "${a}"`); } } for (;;) { const x = f("数値"); const truncated = Math.trunc(x); if (truncated !== Infinity) { alert(`数値 ${x} の整数部分は ${truncated} です。`); break; } alert("入力が大きすぎます。"); }
このプログラムでは、Math.trunc を使用して数値の整数部分を取得しています。ユーザーが入力した数値が NaN や Infinity の場合、適切に処理されます。
小数点以下を切り捨てるプログラム
[編集]以下のプログラムは、ユーザーが入力した数値を小数点以下指定桁数で切り捨てます。
const f = p => { for (;;) { a = prompt(`${p}は何ですか?`); if (!isNaN(a)) return a; alert(`${p}に、入力ミスがあります。 "${a}"`); } } for (;;) { const x = f("数値"); const digits = f("小数点以下の桁数"); const factor = 10 ** digits; const truncated = Math.trunc(x * factor) / factor; if (truncated !== Infinity) { alert(`数値 ${x} を小数点以下 ${digits} 桁で切り捨てると ${truncated} です。`); break; } alert("入力が大きすぎます。"); }
このプログラムでは、Math.trunc を使用して数値を小数点以下指定桁数で切り捨てています。例えば、x = 3.14159 で digits = 2 の場合、truncated は 3.14 になります。
注意点
[編集]- 負の数の扱い:
Math.truncは、負の数に対してもゼロに向かって切り捨てます。例えば、Math.trunc(-3.7)は-3を返します。 - 浮動小数点演算の誤差: 浮動小数点演算の特性上、
xが0.9999999999999999のような値の場合、Math.trunc(x)は0を返すことがあります。これは、浮動小数点数の精度によるものです。
脚註
[編集]- ^ これは、数学的には床関数(floor function)と天井関数(ceiling function)の組み合わせに相当しますが、
Math.truncは常にゼロに向かって切り捨てます。
外部リンク
[編集]