温度変換を処理するには、変換テーブルに乗数とオフセットが必要です。たとえば、F --> C の場合、オフセットは -32 で、乗数は 5/9 になります。
可能なすべての単位が事前にわかっている場合、テーブルベースのメッセージは問題なく機能します。ただし、メートル^5*リットルからインチ^5*ガロンなどの完全に柔軟なシステムが必要な場合は、ベース単位テーブルとユーザー定義関数を使用して変換を行う必要があります。この関数は、おそらく再帰的な cte を使用して単位式を解析します。これはすべてかなり複雑になるため、ユニットの完全なリストがあることを願っています。