time 2017/10/17
JavaScriptは、小数点第N位以下切り捨てという関数は用意されていません。
というわけで、『JavaScriptで小数点第N位以下切り捨てる方法』をメモも兼ねてブログに残しておきます。
最初にも書いたように、小数点第N位以下切り捨てる関数は用意されていませんが、小数点以下を切り捨てる関数や四捨五入する関数はあります。
これらの関数を利用し、ちょっとした計算をすることで、小数点第N位以下切り捨てなどを実現します。
Math.floor() 小数点以下を切り捨てる。
Math.ceil() 小数点以下を切り上げる。
Math.round() 四捨五入する
『9.87654321』という数があったとします。
この数を小数点第2以下切り捨てる場合、まずは、『9.87654321』を10倍にしてしまいます。
var val = 9.87654321; val *= 10; 結果 val == 987.654321
次に、小数点以下を切り捨てます。
val = Math.floor(val); 結果 val == 98
最後に10で割っちゃいます。
val /= 10; 結果 val == 9.8
これをまとめると・・・
var _val = 9.11654321; var val = Math.floor(_val * 10) / 10;
みたいな感じです。
これで、『9.87654321』という数を小数点第2以下切り捨てることができました。
小数点第N位以下を切り捨てる関数がないのなら、小数点がないとこまで数を増やしてしまうってことですね。
あとは、目的に合わせてMath.floor関数の代わりにMath.ceil関数を使ったりMath.round関数を使ったりするだけです。