GNU Units
<i>> Like many similar programs, it can handle multiplicative scale changes. It can also handle nonlinear conversions such as Fahrenheit to Celsius</i><p>how is<p><pre><code>  C = (5/9)(F-32)
</code></pre>
not linear?