use real strtof and snprintf to parse and dump floats



git-svn-id: http://skia.googlecode.com/svn/trunk@369 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/utils/SkParse.cpp b/src/utils/SkParse.cpp
index e740280..df66910 100644
--- a/src/utils/SkParse.cpp
+++ b/src/utils/SkParse.cpp
@@ -206,11 +206,20 @@
     return str;
 }
 
-const char* SkParse::FindScalar(const char str[], SkScalar* value)
-{
+const char* SkParse::FindScalar(const char str[], SkScalar* value) {
     SkASSERT(str);
     str = skip_ws(str);
-
+#ifdef SK_SCALAR_IS_FLOAT
+    char* stop;
+    float v = ::strtof(str, &stop);
+    if (str == stop) {
+        return NULL;
+    }
+    if (value) {
+        *value = v;
+    }
+    return stop;
+#else
     int sign = 0;
     if (*str == '-')
     {
@@ -251,6 +260,7 @@
         n = (n ^ sign) - sign;  // apply the sign
         *value = SkFixedToScalar(n);
     }
+#endif
     return str;
 }