diff --git a/core/Common.php b/core/Common.php
index <HASH>..<HASH> 100644
--- a/core/Common.php
+++ b/core/Common.php
@@ -471,7 +471,13 @@ class Common
             $ok = false;
 
             if ($varType === 'string') {
-                if (is_string($value)) $ok = true;
+                if (is_string($value) || is_int($value)) {
+                    $ok = true;
+                } else if (is_float($value)) {
+                    $value = Common::forceDotAsSeparatorForDecimalPoint($value);
+                    $ok    = true;
+                }
+
             } elseif ($varType === 'integer') {
                 if ($value == (string)(int)$value) $ok = true;
             } elseif ($varType === 'float') {
do not lose value in case it is an integer or a float. Instead convert it to a string.

Eg this returned the default value in the past: `Common::getRequestVar('param', 'string', 'default', array('param' => 5))` which can happen eg in BulkTracking etc. causing many values not to be tracked. Wondering if it breaks anything.