]> git.saurik.com Git - redis.git/blobdiff - src/object.c
Version is now 2.5.3.
[redis.git] / src / object.c
index ccb07208511c45e593d07f6bc0e80cc78ce6d4e0..91e1933af0017d1f1000017b1f49ee9a7c0b9d6f 100644 (file)
@@ -56,7 +56,16 @@ robj *createStringObjectFromLongDouble(long double value) {
      * that is "non surprising" for the user (that is, most small decimal
      * numbers will be represented in a way that when converted back into
      * a string are exactly the same as what the user typed.) */
-    len = snprintf(buf,sizeof(buf),"%.17Lg", value);
+    len = snprintf(buf,sizeof(buf),"%.17Lf", value);
+    /* Now remove trailing zeroes after the '.' */
+    if (strchr(buf,'.') != NULL) {
+        char *p = buf+len-1;
+        while(*p == '0') {
+            p--;
+            len--;
+        }
+        if (*p == '.') len--;
+    }
     return createStringObject(buf,len);
 }