全単位への変換
変換エンジンの設計
線形単位(長さ・質量・面積・速度・データ量)は、各単位を
「基準単位への係数」1 つで表します。例: 長さの基準は m で、
km = 1000、in = 0.0254。変換は 値 × from係数 ÷ to係数 で
基準単位を経由する 1 本道。N×N の変換表は要りません。
温度だけは別扱い。摂氏・華氏・ケルビンは
y = a·x + b のアフィン変換で、0°C は 0°F ではありません
(32°F)。なので温度カテゴリだけは係数ではなく toBase / fromBase
関数を各単位に持たせています。この特例処理がエンジンの肝です。
尺・里・坪・畳・匁・貫など日本の伝統単位、KB (10³) と KiB (2¹⁰) の区別にも対応。 計算ロジックは Node テスト 40 個でカバー。