diff --git a/typo3/sysext/core/Classes/DataHandling/DataHandler.php b/typo3/sysext/core/Classes/DataHandling/DataHandler.php
index 86c5b64b693406f8539f521574343cc434bbc792..0348f920bf7f1b2000d4f0733282de5c96afdeaa 100644
--- a/typo3/sysext/core/Classes/DataHandling/DataHandler.php
+++ b/typo3/sysext/core/Classes/DataHandling/DataHandler.php
@@ -1742,16 +1742,7 @@ class DataHandler implements LoggerAwareInterface
         }
 
         // Checking range of value:
-        // @todo: The "checkbox" option was removed for type=input, this check could be probably relaxed?
-        if (
-            isset($tcaFieldConf['range']) && $tcaFieldConf['range']
-            && (!isset($tcaFieldConf['checkbox']) || $res['value'] != $tcaFieldConf['checkbox'])
-            && (
-                !isset($tcaFieldConf['default'])
-                || floor($res['value']) !== (int)$tcaFieldConf['default']
-                || ceil($res['value']) !== (int)$tcaFieldConf['default']
-            )
-        ) {
+        if (isset($tcaFieldConf['range']) && is_array($tcaFieldConf['range'])) {
             if (isset($tcaFieldConf['range']['upper']) && ceil($res['value']) > (int)$tcaFieldConf['range']['upper']) {
                 $res['value'] = (int)$tcaFieldConf['range']['upper'];
             }
diff --git a/typo3/sysext/core/Tests/Unit/DataHandling/DataHandlerTest.php b/typo3/sysext/core/Tests/Unit/DataHandling/DataHandlerTest.php
index b877b05e439bc1f8b14988756c076848e8e17301..fe7d66c2b56c3331f891ae884cd7a3323b7f3f12 100644
--- a/typo3/sysext/core/Tests/Unit/DataHandling/DataHandlerTest.php
+++ b/typo3/sysext/core/Tests/Unit/DataHandling/DataHandlerTest.php
@@ -289,7 +289,7 @@ class DataHandlerTest extends UnitTestCase
         return [
             '"0" returns zero as string' => [
                 '0',
-                '0'
+                '0.00'
             ],
             '"-0.5" is interpreted correctly as -0.5 but is lower than 0 and set to 0' => [
                 '-0.5',
@@ -297,11 +297,11 @@ class DataHandlerTest extends UnitTestCase
             ],
             '"0.5" is interpreted correctly as 0.5 and is equal to 0.5' => [
                 '0.5',
-                '0.5'
+                '0.50'
             ],
             '"39.9" is interpreted correctly as 39.9 and is equal to 39.9' => [
                 '39.9',
-                '39.9'
+                '39.90'
             ],
             '"42.3" is interpreted correctly as 42.3 but is greater then 42 and set to 42' => [
                 '42.3',
@@ -320,7 +320,7 @@ class DataHandlerTest extends UnitTestCase
     {
         $tcaFieldConf = [
             'input' => [],
-            'eval' => 'double',
+            'eval' => 'double2',
             'range' => [
                 'lower' => '0',
                 'upper' => '42'
@@ -340,7 +340,7 @@ class DataHandlerTest extends UnitTestCase
     {
         $tcaFieldConf = [
             'input' => [],
-            'eval' => 'double',
+            'eval' => 'double2',
             'range' => [
                 'lower' => '0',
                 'upper' => '42'