指数表現とは何か
指数表現は、非常に大きい数や非常に小さい数を「e(エクスポネント=指数)」を使って簡潔に書く方法です。例えば 1000 は 1e3(1 × 10の3乗)、0.00025 は 2.5e-4(2.5 × 10の-4乗)と表せます。JavaScriptの数値リテラルはこの指数表現を直接サポートしています。
JavaScriptの指数表現の書き方
数値の後に e と整数の指数を続けます。プラスの指数は 10 の何乗かを掛ける、マイナスの指数は 10 の何乗かで割る(小さくする)という意味になります。
console.log(1e3); // 1000
console.log(2.5e-4); // 0.00025
console.log(3e0); // 3
console.log(9.81e2); // 981
JavaScripte の前には整数でも小数でも書けます。指数は整数で、正負の符号をつけられます。
べき乗計算との違いと連携
指数表現は「10 のべき乗でスケールする表記」です。一方、任意のべき乗計算は ** 演算子や Math.pow を使います。指数表現の読み書きとべき乗計算は組み合わせて使えます。
console.log(2 ** 3); // 8(2の3乗)
console.log(Math.pow(10, 6)); // 1000000(10の6乗)
console.log(5e2 + 3 ** 4); // 500 + 81 = 581
JavaScript指数表現は「値の書き方」、べき乗は「計算の仕方」。目的に応じて使い分けます。
指数表現で表示する(toExponential)
Number のメソッド toExponential を使うと、任意の数値を指数表現の文字列に変換できます。引数には小数部の桁数(有効桁数ではなく小数点以下の桁)を指定します。
const n = 12345.6789;
console.log(n.toExponential()); // "1.23456789e+4"
console.log(n.toExponential(2)); // "1.23e+4"
console.log((0.0000123).toExponential(3)); // "1.230e-5"
JavaScript科学計算のログや、非常に大きい/小さい値を読みやすく表示したいときに便利です。
例題で理解する指数表現
とても大きい数を簡潔に書く
const oneMillion = 1e6; // 1000000
const oneBillion = 1e9; // 1000000000
console.log(oneMillion + oneBillion); // 1001000000
JavaScriptとても小さい数を扱う
const micro = 1e-6; // 0.000001(マイクロ)
const nano = 5e-9; // 0.000000005(ナノ)
console.log(micro * 2); // 0.000002
console.log(nano.toExponential(2)); // "5.00e-9"
JavaScript物理量のスケーリング
const massKg = 7.5e2; // 750 kg
const forceN = 3.2e4; // 32000 N
const workJ = forceN * 2.0e1; // 640000 J
console.log(workJ.toExponential(3)); // "6.400e+5"
JavaScriptよくある注意点
精度の限界(浮動小数点)
JavaScript の数値は 64-bit 浮動小数点(IEEE 754)。非常に大きい数や非常に小さい数、または 0.1 + 0.2 のような計算では誤差が出ます。表示に使う場合は toExponential や小数桁の丸め(toFixed、Math.round の工夫)で整えましょう。
console.log(0.1 + 0.2); // 0.30000000000000004
console.log((0.1 + 0.2).toExponential(2)); // "3.00e-1"
JavaScript可読性と意図の明確さ
指数表現は短く書けますが、チームの可読性を損ねる場合があります。設定値などは 1000000 と 1e6 のどちらが読みやすいか、プロジェクトのルールに合わせて選びましょう。
// 読み手に合わせて:
const MAX_USERS = 1e6; // 100万
// または
const MAX_USERS = 1000000;
JavaScriptまとめ
指数表現は「10 のべき乗」を使って大きい数・小さい数を簡潔に表す書き方です。JavaScriptでは 1e3 や 2.5e-4 のように直接リテラルとして書け、toExponential で指数表記の文字列にも変換できます。浮動小数点の誤差と可読性のバランスに気をつけながら、数値のスケーリングや科学的な表示に活用しましょう。
