diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/NumericItemBase.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/NumericItemBase.php
index 9f9bd0b..43a84b3 100644
--- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/NumericItemBase.php
+++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/NumericItemBase.php
@@ -61,6 +61,19 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
       '#description' => t("Define a string that should be suffixed to the value, like ' m', ' kb/s'. Leave blank for none. Separate singular and plural values with a pipe ('pound|pounds')."),
     );
 
+    // Set the step for floating point and decimal numbers.
+    switch ($this->getFieldDefinition()->getType()) {
+      case 'decimal':
+        $element['min']['#step'] = pow(0.1, $settings['scale']);
+        $element['max']['#step'] = pow(0.1, $settings['scale']);
+        break;
+
+      case 'float':
+        $element['min']['#step'] = 'any';
+        $element['max']['#step'] = 'any';
+        break;
+    }
+
     return $element;
   }
 
