計算方法

最終更新日: 2026年7月26日

計算機の言うことを鵜呑みにする必要はありません — 特に健康やお金に関わる問題では。このページでは、calcu.lol が数値をどのように算出しているかを、限界も含めて、明確かつ検証可能な形で説明します。

数学は画面から分離されています

各計算機の数学処理は、それぞれ専用のモジュール — 計算機ごとに1つ、合計300以上 — に収められており、純粋関数として書かれています。同じ入力は常に同じ出力を生み、隠れた状態もネットワークアクセスもありません。

数学の層が画面から厳密に分離されているため、ページがサーバーで事前レンダリングされるときも、ブラウザで操作するときも、まったく同じコードが実行されます。両者で答えが異なることはあり得ません。

有効数字30桁の十進演算

通常の浮動小数点演算は、0.1 + 0.2 に対して 0.30000000000000004 と答えることで有名です。この種の誤差を丸ごと避けるため、calcu.lol の数学処理は十進演算(decimal.js ライブラリ)で動作し、有効数字30桁に設定されています。加算や乗算だけでなく、三角関数・対数・累乗根も含まれます。

表示される結果は読みやすさのために丸められますが、内部の計算は完全な精度を保つため、中間段階で誤差が蓄積することはありません。

入力が計算のためにどこかへ送信されることはありません

計算はすべてお使いの端末上で実行されます。入力した数値が処理のためにサーバーへ送信されることはありません — そもそも計算用のバックエンドが存在しないのです。これはプライバシーポリシーに記載されているものと同じ保証です。

すべての結果はリンクになります

計算機の完全な状態 — 入力したすべての値 — はページのアドレスにシリアライズされます。リンクをコピーすれば、開いた人は同じ入力と同じ結果を目にします。これは結果の再現性も意味します。リンクは、計算の完全で自己完結した記録なのです。

正確性の検証方法

正確性は、デプロイのたびに実行される自動テストスイートによって担保されています。

  • 単体テストが、既知の値や境界ケースに対して計算機の数学モジュールを検証します。ほとんどのモジュールには専用のテストスイートがあります。
  • レジストリ不変条件テストが、公開されるすべての計算機に数学モジュール、画面コンポーネント、8言語すべての翻訳が揃っていることを強制します。中途半端な状態の計算機は公開できません。
  • ルートヘルステストが、すべての言語のすべての計算機ページ(312計算機 × 8言語)を検証し、各ページが正しく読み込まれ、正しいメタデータを宣言していることを確認します。

データの出所

ほぼすべての計算機は自己完結した数学であり、外部データを必要としません。特筆すべき唯一の例外は通貨換算です。通貨換算はライブフィードではなく為替レートの静的なスナップショットを使用しており、そのことをレート取得日とともにページ上に明記しています。

限界について、正直に

高精度の演算が保証するのは、数式が正確に計算されることであり、その数式があなたの状況に当てはまることではありません。TDEE の推定値、BMI の分類、ローンの試算は、いずれも現実を単純化したモデルです。

結果は情報提供および教育目的でのみ提供されます。医療、金融、税務、法律、工学上の助言ではありません — 正式な免責事項は利用規約に記載されています。重要な判断については、独自に検証し、資格を持つ専門家にご相談ください。

誤りを見つけたら

計算機が誤った結果を出した場合、運営者はそれを知りたいと考えています。GitHub プロフィール github.com/dvddvd300 からご報告ください。正確な入力値(あるいは入力値を含む共有リンクだけでも)があれば修正できます。