勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

JavaScriptで文字列から数値(特に小数)へ変換時の注意点

   2024/02/20  JavaScript

JavaScriptで文字列から数値へ変換時に想定していた結果と異なることがあった。具体的には小数が入った時に小数点以下が勝手に丸められたりといった具合。以下に対応方法をメモ。

 

対応方法

<script>
var num1 = '1';
var num2 = '0.001';
var num3 = '1.001';

console.log(num1); //'1'
console.log(num2); //'0.001'
console.log(num3); //'1.001'

//parseIntで文字列→数値に変換
console.log(parseInt(num1)); //1
console.log(parseInt(num2)); //0
console.log(parseInt(num3)); //1

//parseFloatで文字列→数値に変換
console.log(parseFloat(num1)); //1
console.log(parseFloat(num2)); //0.001
console.log(parseFloat(num3)); //1.001
</script>

少数が入る可能性がある場合はperseFloatを使う。

 - JavaScript

  関連記事

javascriptやjQueryで画像を書き換えても変わらない場合
javascriptやjQueryで画像を書き換えても変わらない場合

けっこう前に画像をアップロードしてリアルタイムにプレビューする機能を作った時に、 ...

CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成
CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成

CodeIgniter4.4.4&Bootstrap&jQuer ...

JavaScriptで小数の計算をする際にずれ(誤差)を無くす方法(decimal.js)
JavaScriptで小数の計算をする際にずれ(誤差)を無くす方法(decimal.js)

JavaScriptで小数の計算をすると値がずれる(誤差が発生する)ことがあった ...

YouTube埋め込み動画が再生終了したタイミングでJavaScriptの処理を実行させる方法
YouTube埋め込み動画が再生終了したタイミングでJavaScriptの処理を実行させる方法

YouTube埋め込み動画が再生終了した際に、あらかじめ登録してあるJavaSc ...

Leafletでマップ上に通知(トースト)機能を追加する方法(Leaflet.Notifications)
Leafletでマップ上に通知(トースト)機能を追加する方法(Leaflet.Notifications)

Leafletでマーカー内のボタンクリック時等、ユーザーが何らかのアクションを行 ...