Index: JvSpin.pas
===================================================================
--- JvSpin.pas	(revision 12069)
+++ JvSpin.pas	(working copy)
@@ -169,6 +169,7 @@
     // FButtonKind: TSpinButtonKind;
     FUpDown: TCustomUpDown;
     FThousands: Boolean; // New
+    FIsNegative: Boolean;
     function StoreCheckMaxValue: Boolean;
     function StoreCheckMinValue: Boolean;
     procedure SetCheckMaxValue(NewValue: Boolean);
@@ -684,6 +685,8 @@
   OldSelStart := SelStart;
   try
     OldText := inherited Text;
+    if (length(OldText)>0) then
+      IsNegative := Text[1] = '-';
     try
       if not (csDesigning in ComponentState) and (coCheckOnChange in CheckOptions) then
       begin
@@ -1845,6 +1848,8 @@
       //Text := IntToStr(Round(CheckValue(NewValue)));
       Text := FloatToStrF(CheckValue(NewValue), FloatFormat, 15, 0);
     end;
+    if (FIsNegative and (Text[1] <> '-')) then
+      Text := '-' + Text;
     DataChanged;
   finally
     Modified := WasModified;
