anchor.diff:  end;
   
   class function TNullableDouble.StringToVariant(const aValue: String): Variant;
  +var
  +  tmp : double;
   begin
     if (aValue = '') then
       Result := Null
     else
  -    Result:= StrToFloat(aValue);
  +    if mMathUtility.TryToConvertToDouble(aValue, tmp) then
  +      Result := tmp
  +    else
  +      Result := null;
   end;
   
   class function TNullableDouble.VariantToString(const aValue: Variant; const aDisplayFormat: string): String;
  
positive.code: end;
  
  class function TNullableBoolean.StringToVariant(const aValue: String): Variant;
  begin
    if (aValue = '') then
      Result := Null
    else
      Result:= StrToBool(aValue);
  end;
  
  class function TNullableBoolean.VariantToString(const aValue: Variant): String;
  
negative.code: 
  procedure TNullableBoolean.Assign(const aValue: Variant);
  begin
    CheckIfDifferentAndAssign(aValue);
    SetTagChanged(false);
  end;
  
  