Index: src/string.c
===================================================================
RCS file: /cvs/public/parrot/src/string.c,v
retrieving revision 1.227
diff -u -d -u -b -r1.227 string.c
--- src/string.c	18 Oct 2004 01:35:33 -0000	1.227
+++ src/string.c	19 Oct 2004 20:34:15 -0000
@@ -2588,7 +2588,13 @@
         f = atof(p);
         /* Not all atof()s return -0 from "-0" */
         if (*p == '-' && f == 0.0)
+#if defined(_MSC_VER)
+            /* Visual C++ compiles -0.0 to 0.0, so we need to trick
+               the compiler. */
+            f = 0.0 * -1;
+#else
             f = -0.0;
+#endif
         string_cstring_free(cstr);
         return f;
     }
