diff --git a/product/ERP5Type/patches/sqlvar.py b/product/ERP5Type/patches/sqlvar.py
index 13eef31a576160ee31328cab2bd13d9bbcf299e7..1b7e57ba0a6b1795379751b369d2b855c690e206 100644
--- a/product/ERP5Type/patches/sqlvar.py
+++ b/product/ERP5Type/patches/sqlvar.py
@@ -54,7 +54,9 @@ def SQLVar_render(self, md):
                 if v[-1:]=='L':
                     v=v[:-1]
                 atof(v)
-            else: v=str(float(v))
+            # ERP5 patch, we use repr that have better precision than str for
+            # floats
+            else: v=repr(float(v))
         except:
             if not v and args.has_key('optional') and args['optional']:
                 return 'null'