Main ideas about UnitParser
UnitParser allows to easily deal with a wide variety of situations involving units of measurement. To get an idea about what it can do, take a look at this table including some basic information.

Among the most salient features of UnitParser are:
  • User-defined exception triggering
    . By default, UnitParser doesn't trigger exceptions, unless in very specific cases (i.e., certain operations with .NET numeric types, which can also be avoided).
    The user can modify the aforementioned default behaviour at variable instantiation.
  • Gracefully managing numeric values of any size
    . UnitParser relies on a mixed system formed by three elements: value (decimal type), unit prefix and base-ten exponent (int type).
    The "numeric values of any size" statement isn't an exaggeration. Thanks to its huge range (i.e., bigger than 10^-2147483648 to 10^2147483647) and high precision (i.e., the over-27-digit decimal precision), number size is certainly no issue for UnitParser.
You can find its (C#; .NET 4.0) code in my GitHub account (readme file and source code files). You can download the last version or get the corresponding NuGet package.
The last stable version of UnitParser.dll is 1.0.6301.23655.