こんにちは!
今回は「JavascriptでNumberを使って数値型に変換すると、小数点以下の「0」が消えてしまう問題への対処法」についてお伝えしたいと思います。
結論として、根本的な対処法は見つかりませんでした...
しかし、こうすれば大半の要件は満たせるのではと思います。
小数点以下の「0」を表示する直前にtoFixedメソッドで戻すのがよい
先程お伝えしたとおり、根本的な解決方法は見つかりませんでした...
しかし、小数点以下の「0」を表示したいときって、フロント側で表示したいときが大半なのではと思っています。
Number型のインスタンスメソッドであるNumber.prototype.toFixed()
を使うことで解決できました。
以下、サンプルコードです。
// 小数点で値を取得した想定
const getValueStr = '10.0';
// 計算のため、getValueStrを数値に変換
const getValueNum = Number(getValueStr);
console.log(getValueNum); // 10 ※小数点以下の「0」が切り捨られてしまう
// getValueStrを使って結果を算出
const result = getValueNum * 2;
// 小数点以下一桁を表示
const completeResult = result.toFixed(1);
console.log(completeResult); // '20.0'
以上、お疲れ様でした〜🍵