anchor.diff:    else
       Result := FValue;
   end;
  -
  +*)
   end.
  
positive.code: 
      procedure Assign(aSource : TNullableInteger); overload;
      procedure Assign(aSourceField : TField); override; overload;
      procedure Assign (const aValue : String; const aBlankStringMeansNull : boolean); override; overload;
      function CheckIfDifferentAndAssign(const aValue : String; const aBlankStringMeansNull : boolean) : boolean;
      function AsVariant : Variant; override;
      function AsString : String;
  
      property Value : Integer read GetValue write SetValue;
    end;
  
negative.code:     Self.Value:= aSourceField.AsFloat;
  end;
  
  procedure TNullableDouble.Assign(const aValue: Variant);
  begin
    CheckIfDifferentAndAssign(aValue);
  end;
  
  procedure TNullableDouble.Assign(const aValue: String);
  begin
    Self.Assign(TNullableDouble.StringToVariant(aValue));
  end;
  
  function TNullableDouble.AsVariant: Variant;
  