NumberParser Code >NumberX  NumberX is the generic designation for the following four basic classes of NumberParser: Number . The most simple and efficient one. It is decimal based.NumberD . Similar to Number , but capable to deal with any numeric type via dynamic .NumberO . It manages different numeric types simultaneously. The code of its specific functionalities is being analysed in the next section.NumberP . It parses strings into numeric types. There is one section analysing its specific code.
All NumberX have the following public fields in common: Value . Main numeric information of the given variable. Its type can be either decimal or dynamic (i.e., any supported numeric type).BaseTenExponent . Exponent of the baseten factor which complements Value when required (i.e., being outside the range of the corresponding numeric type). For example, Value 6 and BaseTenExponent 3 equals 6*10^3 or 6000.Error . An ErrorTypesNumber variable telling the user about any error, which is managed internally without raising exceptions.
All NumberX have also the following features in common:  Custom overloaded functionalities.
 Arithmetic operators.
Number number = new Number(1m) + 2m;  Comparison operators.
if (new NumberO(1m) < 2m) { //This condition is true. }  Implicit conversions between each other.
Number number = new NumberD(1);  Implicit conversions of related types.
NumberP numberP = "1.2";
 Custom arithmetic operations accounting for their basic
Value BaseTenExponent Error structure and managing all the errors internally (i.e., never raising exceptions). Most of this code is included in Operations_Private_Managed.cs. The contents of this file are very similar to the ones of UnitParser's Operations_Private_Managed.cs and, consequently, the explanations in the corresponding UnitParser section are somehow applicable here too.
