コンテンツにスキップ

JavaScript/Math/trunc

出典: フリー教科書『ウィキブックス(Wikibooks)』

Math.trunc(x) は、引数 x の小数部分を切り捨てて整数部分を返します。これは、x の符号を維持したまま、小数点以下を削除する操作です[1]

  • 引数 xNaN の場合、NaN を返します。
  • 引数 x+0 または -0 の場合、x をそのまま返します。
  • 引数 xInfinity または -Infinity の場合、x をそのまま返します。

[編集]

数値の整数部分を取得するプログラム

[編集]

以下のプログラムは、ユーザーが入力した数値の整数部分を取得します。

constf=p=>{for(;;){a=prompt(`${p}は何ですか?`);if(!isNaN(a))returna;alert(`${p}に、入力ミスがあります。 "${a}"`);}}for(;;){constx=f("数値");consttruncated=Math.trunc(x);if(truncated!==Infinity){alert(`数値 ${x} の整数部分は ${truncated} です。`);break;}alert("入力が大きすぎます。");}

このプログラムでは、Math.trunc を使用して数値の整数部分を取得しています。ユーザーが入力した数値が NaNInfinity の場合、適切に処理されます。

小数点以下を切り捨てるプログラム

[編集]

以下のプログラムは、ユーザーが入力した数値を小数点以下指定桁数で切り捨てます。

constf=p=>{for(;;){a=prompt(`${p}は何ですか?`);if(!isNaN(a))returna;alert(`${p}に、入力ミスがあります。 "${a}"`);}}for(;;){constx=f("数値");constdigits=f("小数点以下の桁数");constfactor=10**digits;consttruncated=Math.trunc(x*factor)/factor;if(truncated!==Infinity){alert(`数値 ${x} を小数点以下 ${digits} 桁で切り捨てると ${truncated} です。`);break;}alert("入力が大きすぎます。");}

このプログラムでは、Math.trunc を使用して数値を小数点以下指定桁数で切り捨てています。例えば、x = 3.14159digits = 2 の場合、truncated3.14 になります。

注意点

[編集]
  • 負の数の扱い: Math.trunc は、負の数に対してもゼロに向かって切り捨てます。例えば、Math.trunc(-3.7)-3 を返します。
  • 浮動小数点演算の誤差: 浮動小数点演算の特性上、x0.9999999999999999 のような値の場合、Math.trunc(x)0 を返すことがあります。これは、浮動小数点数の精度によるものです。

脚註

[編集]
  1. ^これは、数学的には床関数(floor function)と天井関数(ceiling function)の組み合わせに相当しますが、Math.trunc は常にゼロに向かって切り捨てます。

外部リンク

[編集]


close